albafotos
Goto Top

Neu erstellte Ordner ansprechen oder definieren

Hallo an Alle,

Beispiel. Hier ich konnte neu erstellte Ordner "ansprechen" oder definieren.
CURRENTTIME=%TIME%

:: - Zusammensetzung Archivname

set ARCHIVNAME=%DATE:~0,2%_%DATE:~3,2%_%DATE:~6,6%_Muenchen

:: - Verzeichnis erstellen

mkdir F:\BILDER\%ARCHIVNAME%

move /-Y F:\BILDER\Bilder_Bearbeitung\*.jpg F:\BILDER\%ARCHIVNAME%  usw.
Jetzt, habe ich Ordnername aus Textdatei erstellt.
for /f "delims=" %%i in (Ordnername.log) do @mkdir "%%i"  
Wie kann ich Ordner "ansprechen" oder definieren?

Per set versucht, "Syntaxfehler" oder "kann man nicht definieren".

Vielen Dank!

Content-ID: 195840

Url: https://administrator.de/contentid/195840

Ausgedruckt am: 16.11.2024 um 13:11 Uhr

bastla
bastla 13.12.2012 aktualisiert um 17:49:36 Uhr
Goto Top
Hallo Albafotos!

Etwa so:
for /f "delims=" %%i in (Ordnername.log) do (  
    md "%%i"  
    move /-Y F:\BILDER\Bilder_Bearbeitung\*.jpg "%%i"  
)
- allerdings stellt sich die Frage, wie in den einzelnen Schleifendurchläufen jeweils die Quelle (im Beispiel "F:\BILDER\Bilder_Bearbeitung\*.jpg") festgelegt werden soll ...

Grüße
bastla
Albafotos
Albafotos 15.12.2012 um 01:43:39 Uhr
Goto Top
Hallo bastla!

Danke schön für Hilfe, ich habe in meine Batch-Datei integriert und getestet. Mit einem Ordner läuft.

Mein Test:
for /f "delims=" %%i in (Ordnername.txt) do (  
    md F:\BILDER\"%%i"  
    move /-Y F:\BILDER\Bilder_Bearbeitung\*.jpg F:\BILDER\"%%i"   
)
Aber, wenn ich versuche zweite Ordner erstellen (im gleiche Batch_Datei), wie Beispiel unten,
kommt Meldung: "Unterverzeichnis existiert bereits" und pasiert nichts.
Einzeln diese Muster funktioniert.

for /f "delims=" %%i in (Ordnername.txt) do (  
    md F:\BILDER\"%%i_Fotos"  
    move /-Y F:\BILDER\Vor_Bearbeitung\*.jpg F:\BILDER\"%%i_Fotos"  
)

Im "alte Variante" oben konnte erstellen ohne Ende.

Zitat von @bastla:
- allerdings stellt sich die Frage, wie in den einzelnen Schleifendurchläufen jeweils die Quelle (im Beispiel
"F:\BILDER\Bilder_Bearbeitung\*.jpg") festgelegt werden soll ...

Was meinst Du damit? Ob Ordner Konstant ist?
bastla
bastla 15.12.2012 um 12:42:38 Uhr
Goto Top
Hallo Albafotos!
Im "alte Variante" oben konnte erstellen ohne Ende.
Dass ein Ordner nicht nochmals erstellt werden kann, wenn er bereits existiert, ist unabhängig davon, ob der Name fest vorgegeben ist oder aus einer Datei stammt - daher konntest Du "ohne Ende" nur dann Ordner erstellen, wenn sie einen anderen Namen (zB weil das Datum darin enthalten ist) hatten als die bereits Vorhandenen ...
Ob Ordner Konstant ist?
Genau - wenn beim ersten Schleifendurchlauf aus einem Quellordner (wie "F:\BILDER\Bilder_Bearbeitung") alle Dateien (in den ersten Zielordner) verschoben wurden, hat die Schleife keinen Sinn, da dann für die weiteren eingelesenen Ordner ja keine Dateien mehr übrig sind - daher könnte ich mir nur vorstellen, dass sowohl Quell- als auch Zielordner einzulesen sind und daher in der "Ordnername.txt" zB stünde
F:\BILDER\Bilder_Bearbeitung;Bearbeitungsordner
F:\BILDER\Vor_Bearbeitung;Fotoordner_Fotos
- dann könnte die Schleife so aussehen:
for /f "tokens=1-2 delims=;" %%i in (Ordnername.txt) do (  
    md "F:\BILDER\%%j"  
    move /-Y "%%i\*.jpg" "F:\BILDER\%%j"  
Grüße
bastla
Albafotos
Albafotos 24.12.2012, aktualisiert am 25.12.2012 um 22:12:04 Uhr
Goto Top
Hallo bastla und Alle!

Entschuldigung bastla für den Lärm, Dein erste Batch funktioniert auch.
Meine grobe Fehler gewesen. Bei langem Batch, als Test, zwischen Ordnererstellung, ist eine "Pause" geblieben.
Deswegen funktionierte nicht richtig.

Deine Code in einer Batch_Datei, sieht so aus.
Beispiel:
...

:: Erstellt Ordner - MUENCHEN und verschiebt Bilder.

for /f "delims=" %%i in (Ordnername.txt) do (  
    md F:\BILDER\"%%i"  
    move /-Y F:\BILDER\Bilder_Bearbeitung\*.jpg F:\BILDER\"%%i"   
)

:: Weitere Code oder Bilder_Bearbeitung
:: ...


:: Erstellt Ordner - MUENCHEN_FARBFOTOS und verschiebt Bilder.

for /f "delims=" %%i in (Ordnername.txt) do (  
    md F:\BILDER\"%%i_FARBFOTOS"   
    move /-Y F:\BILDER\Bilder_Bearbeitung\*.jpg F:\BILDER\"%%i_FARBFOTOS"   
)

...



Unterschied ich habe rot "gemalt".

md F:\BILDER\"%%i_FARBFOTOS"

Ich verwende Deine erste Variante, weil einfach ist.
In Batch_Datei kann man mehrmals benutzen, muss man nur Ordner "ansprechen"!
HERZLICHEN DANK, bastla!

Ich_wünsche_Euch_alle_noch_frohes_Fest_und_einen_gesunden_Rutsch_ins_neue_Jahr!