Autor | Thema: Verzeichniswechsel | | Datum:08.01.02 21:47 
(apollo@rw-net.de) | |
Hallo,
ich habe momentan ein kleines Denkproblem, mit dem ich nicht so recht weiterkomme.
Ich habe einen String mit dem Verzeichnis, z.B. c:\windows\system.
Ich möchte nun ins darüberliegende Verzeichnis wechseln. Nur hab ich das Problem, dass ich bisher keinen Schimmer habe, wie ich aus dem Verzeichnis das darüberliegende mache?!
Irgendwie muss der String ja zusammengekürzt werden, nur wie?!
Bin für jeden Hinweis dankbar.
mfG, René
|
| | Datum:08.01.02 23:30 
(joerse@gmx.de) | |
Hallo,
Da greift das gute alte Dos mal wieder:
print GetDir$("@")
ChDir ".."
print GetDir$("@")
WaitInput
Jörg
|
| | Datum:08.01.02 23:34 
(GTelzerow@T-Online.de) | |
Hi,
Rene, wie immer von mir ein reines Profan-Beispiel.
Declare Pfad$,Pfad2$
Declare N%
Let Pfad$="D:\mit\Profan\ohne\API\ oder mit\ Sondrezeichen %&(?\Test"
Let N%=0
WhileNot N%
If @GT(@Instr("\",Pfad$),0)
Let Pfad2$=@Add$(Pfad2$,@Left$(Pfad$,@Instr("\",Pfad$)))
Let Pfad$=@Del$(Pfad$,1,@Instr("\",Pfad$))
Else
Let Pfad$=@Left$(Pfad2$,@Sub(@Len(Pfad2$),1))
Let N%=1
Endif
EndWhile
Print Pfad$
Waitinput
Gruss
Gerd
|
| | Datum:09.01.02 01:31 
(joerse@gmx.de) | |
Hallo Rene,
Das sind übrigens auch sehr hilfreiche Funktions-Definitionen:
Def VerzeichnisTiefe(1) int(Sub(Len(@$(1)),Len(Translate$(@$(1),"\\",""))))'hier wird der LW-Buchstabe nicht mitgerechnet
Def PfadTeil(2) SubStr$(@$(1),@%(2),"\\")'Vorher sollte man die Verzeichnistiefe ermitteln
Def DateiName(1) SubStr$(@$(1),VerzeichnisTiefe(@$(1)) + 1,"\\")
Def DateiPfad(1) Translate$(@$(1),"\\" + DateiName(@$(1)),"")
ChDir $syspath + "\\iosubsys\\"
print @getdir$("@")
print VerzeichnisTiefe(@getdir$("@"))
print DateiPfad(@getdir$("@"))
print DateiName(@getdir$("@"))
print PfadTeil(@getdir$("@"),VerzeichnisTiefe(@getdir$("@")))
WaitInput
Ich würde den Backslash immer doppeln, weil Profan ihn unter Umständen verschluckt.
Außerdem war das ".."-Beispiel natürlich auch reines Profan aber
schon zu Dos-Zeiten kam man mit 2 Punkten eins höher.
Mit jedem zusätzlichen Punkt kommst Du übrigens noch eins weiter:
ChDir "..."
Viele Grüße
Jörg
|
| | Datum: 09.01.02 08:10 
(apollo@rw-net.de) | |
Hallo,
danke für eure Tipps. Auf die Idee mit den .. bin ich auch gekommen, nur hab ich die nicht in " " gesetzt. *klatsch*
Eventuell sollte man sowas auch in der Hilfe erwähnen. ;)
mfG, René
|
|
|