Aus Dateiname Ordner erstellen

  • Die Ordner sollen im gleichen Verzeichnis (wo Datei ist) erstellt werden und ohne Dateiendung

    dann sollte die Datei in den gleich namigen Ordner kopiert werden.

    Hab da ein paar hundert Dateien mit denen es so gemacht werden soll.

    Gruß

  • Also 1 Ordner je Datei, wobei der Ordnername dem Dateinamen entspricht (ohne Endung). Richtig?


    (Nein, ich werde den Sinn dahinter jetzt erst mal nicht hinterfragen)

  • So habe ich es verstanden, daher hier eine quick and dirty Lösung:

    Edit: Jetzt mit flexibler Dateiendung und nicht mehr ganz so QuD ;)

    3 Mal editiert, zuletzt von Moombas (1. Dezember 2023 um 11:14)

  • Hab es mal angepasst ;)

    Bleibt noch die Möglichkeit, wenn Punkte im Dateinamen verwendet wurden (z.B. test.txt.old) :P

    Das habe ich dann hier mal mit berücksichtigt:

    Edit: Corrected the slashes into correct direction.

    3 Mal editiert, zuletzt von Moombas (4. Dezember 2023 um 10:41)

  • Bleibt noch die Möglichkeit, wenn Punkte im Dateinamen verwendet wurden (z.B. test.txt.old)

    Deshalb schrieb ich ja: "den letzten Punkt". Mit StringInStr() machbar indem man den occurance-Parameter auf -1 setzt.

    StringSplit braucht man hierfür nicht und kann es in einem Einzeiler erledigen.

  • Danke Euch perfekt, ihr habt mir eine menge Arbeit erspart:thumbup:.

    Das letzte Script funktioniert einwandfrei, vor dem letzten Edit verhalten sich die erstellten Ordner sehr komisch

    die werden im Explorer angezeigt kann die aber nicht löschen od. in ein anderes Verzeichnis kopieren.

    Windows meldet da: Element wurde nicht gefunden

    Aber nochmals vielen Dank

  • Ganz rund läuft es doch noch nicht, bekomme immer wieder die Fehlermeldung

    "Element wurde nicht gefunden" kann diese Ordner dann auch nicht mehr löschen, obwohl sie angezeigt werden

  • Moombas :

    Ein weiterer Sonderfall wäre, dass ein Dateiname keine Extension besitzt. Dann kann kein gleichnamiges Unterverzeichnis angelegt werden.

    Nur eine kleine Alternative zu :

    $target = @ScriptDir & '/' & StringLeft($sFileName, StringinStr($sFileName, '.', Default, -1) - 1) & '/'

    Hier kann z.B. auch ein regulärer Ausdruck verwendet werden :
    $target = @ScriptDir & '\' & StringRegExpReplace($sFileName, '(.*)\..*', "$1") & '\'

    86598-musashi-c64-png

    "Am Anfang wurde das Universum erschaffen. Das machte viele Leute sehr wütend und wurde allenthalben als Schritt in die falsche Richtung angesehen."