Ordner im Filesystem anlegen

  • Hallo!


    Wie kann ich einen Ordner im Filesystem anlegen? Vorher sollte allerdings geprüft werden, ob der Ordner ggf. schon existiert.


    Ich dachte mir das so irgendwie:

    Code
    Mkdir "D:\"&directoryNamepath =  " "& Inputbox ( "Please type in the memory path for the notes.ini or use default" , "Notes.ini memory path" , "D:\"&directoryName) & "\notes.ini"


    Das Problem ist nur, dass er am Anfang des Foldername eine Leerzeile einschiebt.

    Code
    Mkdir "D:\"&directoryName


    directoryName ist eine String-Variable.


    Schon mal vielen Dank für eure Hilfe....!


    Gruß Jan

  • Wo wird ein Leerzeichen eingefuegt??
    Bei der Variable Path ist das auch kein Wunder.
    Und wo wird die Variable DirectoryName gefuellt??

  • Hallo,


    versuch es mal mit ChDir, wenn der Pfad nicht da ist, müsste es einen Fehler geben.


    z.Bsp.


    Code
    Function exists(path As String) as Variant  
       On Error goto Errorhandler
       exists = True
       ChDir path
       Exit Function
    Errorhandler:   
       exists = False
    End Function


    Und dann nur noch in der Hauptroutine auf True oder False prüfen.


    mfg


    Kjeld

  • Hallo,


    Leerzeile oder -zeichen. Trim wäre gut.
    Warum setzt Du bei der Inputbox ein Leerzeichen davor?
    Schreib bitte mal einen Beispielpfad auf.


    mfg


    Kjeld

  • Hallo,


    also hier ein BspPfad:


    Davon ausgegangen, dass directoryName = "ohne blank"

    Code
    D:\ohne blank\notes.ini


    Code
    pathName = ""& Inputbox ( "Please type in the memory path for the notes.ini or use default" , "Notes.ini memory path" , "D:\"&directoryName)&"\notes.ini"Mkdir "D:\"&directoryName


    So wäre der Pfad ja richtig, wenn das Leerzeichen nicht wäre:

    Code
    D:\ mit blank\notes.ini


    Gruß Jan

  • hi, versuch mal folgende funktion:



    sollte eigentlich dein Problem mit den leerzeichen beheben.


    gruß leth

  • Hallo!


    Ich hab den Fehler gefunden. Die Leerzeichen macht er beim Füllen der Variable directoryName.

    Code
    directoryName = uidoc.FieldGetText ("headingName")


    Das Feld headingName beinhaltet am Anfang und am Ende einen Blank.


    ok. Dann muss ich mir jetzt den Ordnernamen aus etwas anderem zusammenstückeln.


    Aber vielen Dank!



    Gruß Jan

  • Hallo!


    Vielen Dank! Habe jetzt deinen Vorschlag mit dem "Trim" verwendet, hat mir besser gefallen.


    Wie kann ich denn mit Mkdir Unterordner anlegen?


    Irgendwie geht es nur so:

    Code
    Mkdir "D:\Test"


    Es wäre nicht schlecht, wenn das auch funzen würde:

    Code
    Mkdir "D:\Test\123"


    Ich bekomme hier die Fehlermeldung "Path not found"



    Gruß Jan

  • Das haengt wohl damit zusammen, dass es das Verzeichnis "D:\Test" noch nicht gibt. Ergo kann in diesem verzeichnis auch kein Unterverzeichnis erstellt werden.
    Also erst das obere Verzeichnis erstellen...dann das untere.

  • Zitat


    Stony schrieb:


    Es wäre nicht schlecht, wenn das auch funzen würde:

    Code
    Mkdir "D:\Test\123"


    Ich bekomme hier die Fehlermeldung "Path not found"


    wie gesagt versuch mal die funktion, die ich weiter oben gepostet hab. habe da deine leerzeichen berücksichtigt sowie das erstellen von unterordnern

  • Hallo,


    jetzt wirds kompliziert.


    in dieser Zeile

    Code
    pathName = ""& Inputbox ( "Please type in the memory path for the notes.ini or use default" , "Notes.ini memory path" , directoryName)


    kann der User den Default Pfad übernehmen, oder einen anderen angeben.


    Der Default ist immer "D:\blabla".


    Aber wie funktioniert das denn, wenn der User "D:\bla\bla\bla" eingibt?


    Wie kann man das mit Mkdir lösen?



    Gruß Jan

  • Hallo,


    Zitat

    wie gesagt versuch mal die funktion, die ich weiter oben gepostet hab. habe da deine leerzeichen berücksichtigt sowie das erstellen von unterordnern


    Habe jetzt deine Funktion verwendet. Funktioniert einwandfrei, vielen Dank!


    Mein Problem ist nur, dass ich den Code nicht so ganz verstehe. :roll:


    Kannst du mir den Code nochmal mit ein paar Kommentaren posten?



    Gruß Jan

  • das mache ich doch, ist auch noch eine änderung drinne:



    Hoffe das ist recht verständlich, falls nicht einfach melden ;)