Code: Alles auswählen
Global Seperator.s ;{
CompilerIf #PB_Compiler_OS = #PB_OS_Windows
Seperator.s="\" ; für Windows
CompilerElse
Seperator.s="/" ; für MacOS, Linux
CompilerEndIf ;}
Procedure CreateDirectoryPath(S.s,Sep.s)
Static A.l
Static d.s
Static i.l
A=CountString(S,Sep.s)
d=""
For i=1 To A+1
d=d+StringField(S,i,Sep)+Sep
CreateDirectory(d) ; Vorhandene Verzeichnisse werden nicht beachtet
Next
EndProcedure
CreateDirectoryPath(Path,Seperator)
Path kann man individuell wählen.
zum Beispiel: Path="C:\F\Test\Hallo\Welt\" ...
Seperator kann auch manuell auf "\" oder "/" gestellt werden.
Nutzt man das Wort Seperator, wird es automatisch gewählt.
Je nach dem, auf welchem System man es compiliert.
Man könnte noch überprüfen, ob das letzte Zeichen ein Seperator ist oder nicht, und wenn nicht, dann sollte eins gesetzt werden.
Aber so kann man zum Beispiel folgendes machen:
Code: Alles auswählen
Datei.s="C:\F\Test\Hallo\Welt\Paul.txt"
CreateDirectoryPath(Datei, "\")
If CreateFile(0,Datei)<>0
CloseFile(0)
EndIf
Ein Blick in die Suche oder ins CodeArchive hätte mir wohl auch die Lösung gebracht.

Ist es die beste Möglichkeit, um gleich einen ganzen Pfad erstellen zu lassen oder gibt es da schon einen durchdachten Befehl von PB aus sogar, den ich einfach nur übersehen habe?
Gruß, Folker
