Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Suche spezielles Programm bzw. Script


Pro2k
2005-08-30, 13:20:05
also folgendes Problem:
Ich habe einen ordner mit sehr vielen Bildern, nun möchte ich diese verschieben, jedoch nicht so wie sie sind sondern jedes in ein eigenes Unterverzeichnis. Und dieses Unterverzeichnis soll anhand des Dateinamens ertellt und benannt werden.
Ich hoffe ihr versteht, was ich da machen will, fragt aber bitte nicht warum? Gibt es dazu ein Programm das automatisch aus dem Dateinamen ein Unterverzeichnis erstellt und die Datei, dann dort reinverschiebt? Ähnlich wie bei mp3, bei den aus dem idTag ein unterverzeichnis kreiert wird.

littlejam
2005-08-30, 14:03:59
for /f %a in ('dir /b') do mkdir c:\test\%a && move %a c:\test\%a
Die Dateien dürfen vorher nicht in c:\test liegen :wink:

Gruß

Pro2k
2005-08-30, 15:00:38
for /f %a in ('dir /b') do mkdir c:\test\%a && move %a c:\test\%a
Die Dateien dürfen vorher nicht in c:\test liegen :wink:

Gruß
Es wird nun zwar ein ordner erstellt, dieser enthält aber nur den ersten teil des dateinamen (alles was vor dem ersten leerzeichen kommt), außerdem verschiebt er die dateien, dann nicht da rein.

littlejam
2005-08-30, 16:55:41
Wenn du Leerzeichen im Dateinamen hast, musst du die Pfade und namen in " (aka Tüdelchen) setzen.

Also etwa so:
for /f %a in ('dir /b') do mkdir "c:\test\%a" && move "%a" "c:\test\%a"

Gruß

Pro2k
2005-08-30, 17:06:21
Wenn du Leerzeichen im Dateinamen hast, musst du die Pfade und namen in " (aka Tüdelchen) setzen.

Also etwa so:
for /f %a in ('dir /b') do mkdir "c:\test\%a" && move "%a" "c:\test\%a"

Gruß
Hilft leider auch nichts. Es passiert genau das selbe, wie zuvor.

folgende meldung: C:\images>mkdir "c:\test\Sari" && move "Sari" "c:\test\Sari"
Ein Unterverzeichnis oder eine Datei mit dem Namen "c:\test\Sari" existiert bere
its.

Obwohl das verzeichnis noch nicht besteht.

littlejam
2005-08-30, 17:58:26
So nu aber *g*

C:\temp>for /f "delims=:" %a in ('dir /b') do mkdir "c:\test\%a" && move "%a" "c:\test\%a"

Das geht definitiv auch mit Leerzeichen im Dateinamen.

Gruß

Aqualon
2005-08-30, 18:00:50
Versuchs mal so:

for /f "delims=" %a in ('dir /b') do mkdir "c:\test\%a" && move "%a" "c:\test\%a"

Aqua

Edit: wohl bisschen zu spät dran ;)

Pro2k
2005-09-01, 17:18:13
danke so hat es funktioniert, man könnte sich das etwas komfortabler erwünschen, aber ihr habt mich davor bewahrt die nächsten 3 tage nur neue ordner erstellen zu müssen.