gamerphil
Moin,
ich bräuchte ein DOS Skript, das die Dateien in einem Ordner einliest und aufgrund der Dateinamen dann jeweils einen Ordner erstellt, der dann eben genauso heisst wie die Datei (ohne Endung).
Sprich, wenn 3 Dateien im Ordner sind:
Photo 1.raw
Photo 2.png
Photo 3.jpg
soll er 3 Ordner erstellen:
Photo 1
Photo 2
Photo 3
Ist sowas automatisiert möglich?
one
Sollte mit einer batch-Datei problemlos gehen. Erstellen muss die aber jemand anderes, das ist nicht meine Welt.

Wenn es wirklich DOS sein soll, dann frage ich mich allerdings, mit was du arbeitest.
gamerphil
Nein also batch passt schon. DOS nenn ich das nur, weil ich davon keine Ahnung habe. Dachte man sagt das so, wenn man von diesen DOS Befehlen in einem cmd Fenster redet
Also ich erstelle mir eine list.txt mit dir *.* /B > list.txt
Diese bearbeite ich mit einem Editor und haue die Dateiendungen weg (weiss nicht wie das per Batch geht, so ists halt am einfachsten, weil eh immer die gleiche).
Nun hänge ich an der for Schleife.
FOR %a IN (list.txt) DO md %a
Funktioniert so nicht, weil er anscheinend nicht die list.txt ausliest sondern den String "list.txt" benutzt.
Mit dem Parameter /F hinter FOR nimmt er die Datei, aber nicht zeilenweise sondern Wort für Wort.. wenn das noch gelöst ist, wäre ich glücklich.
| Edit by phil |
Es ist:
| code: |
1:
|
FOR /f "delims=" %a IN (list.txt) DO md "%a" |
|
Ich glaube genau so wollte ich das haben.
Wäre cool, jetzt noch die Dateien in den Ordner mit ihrem Namen verschieben zu können...
das bekomm ich aber auch noch hin, iwie.
|
Merialos
Habe von Batch auch nicht gross Ahnung, aber hier mal ein Ansatz:
| code: |
1:
|
for /f %i in ('dir /s /b /a:-d c:\test\*.') do @echo %i |
|
Sollte alle Dateien, keine Verzeichnisse (a:-d), auflisten und dazu nur den Namen ohne Dateiendung, das echo noch durch mkdir oder wie das in Batch heisst ersetzen und sollte laufen (oder auch nicht)

.
gamerphil
Das mit dem dir *. habe ich auch probiert um die Dateiendungen wegzulassen. Faktisch listet das dann aber nur Ordner auf, was bei dir ja irgendwie aber untersagt ist.
Ich probier lieber nicht aus, was das nun genau macht
| Edit by phil |
| code: |
1:
|
FOR /f "delims=" %a IN (list.txt) DO move "%a.DATEIENDUNG" "%a" |
|
und fertig
|
Merialos
Laut der Seite wo ich mir das abgeschaut habe, soll das Teil mit genau diesem Befehl alle Dateien auflisten. Aber egal, bin eh zu faul das zu testen
gamerphil
Ich habe es nun mit den 3 oben aufgeführten befehlen und dem kleinen Umweg über meinen Lieblingseditor und dessen suchen und ersetzen Funktion hin bekommen.
Wäre natürlich cool diesen Umweg auch noch per Batch machen zu können.