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-Key: 195840

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

Printed on: April 18, 2024 at 13:04 o'clock

Member: bastla
bastla Dec 13, 2012 updated at 16:49:36 (UTC)
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
Member: Albafotos
Albafotos Dec 15, 2012 at 00:43:39 (UTC)
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?
Member: bastla
bastla Dec 15, 2012 at 11:42:38 (UTC)
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
Member: Albafotos
Albafotos Dec 24, 2012, updated at Dec 25, 2012 at 21:12:04 (UTC)
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!