Batch zum Umbennen von Daten
Hi,
ich möchte einen Batch erstellen der unter Windows 2000/XP läuft, welcher einen Ordner erstellt (aus Datum und "Titel"), Fotos von einer DigiCam/Netzlaufwerk in diesen Ordner kopiert und die Dateien dann umbennent (pic_"Titel_des_Ordners"_00xx").
Es funktioniert alles bis auf das umbennen der Daten. Bitte um Hilfe/Tipps
Mein Batch sieht bis jetzt wie folgt aus:
@echo Geben Sie bitte einen Titel fuer das Fotoalbum ein!
@echo off
CD\
set /P NAME=
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set ordner="%jahr%-%monat%-%tag% (%NAME%)"
md %ordner%
cd %ordner%
echo %CD%
xcopy K:\*.jpg
gruss nordisch
ich möchte einen Batch erstellen der unter Windows 2000/XP läuft, welcher einen Ordner erstellt (aus Datum und "Titel"), Fotos von einer DigiCam/Netzlaufwerk in diesen Ordner kopiert und die Dateien dann umbennent (pic_"Titel_des_Ordners"_00xx").
Es funktioniert alles bis auf das umbennen der Daten. Bitte um Hilfe/Tipps
Mein Batch sieht bis jetzt wie folgt aus:
@echo Geben Sie bitte einen Titel fuer das Fotoalbum ein!
@echo off
CD\
set /P NAME=
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set ordner="%jahr%-%monat%-%tag% (%NAME%)"
md %ordner%
cd %ordner%
echo %CD%
xcopy K:\*.jpg
gruss nordisch
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 07.08.2009 um 20:55:34 Uhr
Batch zum Umbennen von Daten
...in diesen Ordner kopiert und die Dateien dann umbennent
Womit belegt ist, dass es Anno 2006 wohl noch keine Code-Tags gab, aber umbannt haben die Menschen damals auch schon.Content-ID: 39654
Url: https://administrator.de/forum/batch-zum-umbennen-von-daten-39654.html
Ausgedruckt am: 24.12.2024 um 16:12 Uhr
7 Kommentare
Neuester Kommentar
hallo nordisch....
wenn du die Pfade auf deine Verhältnisse anpasst,
könnt es klappen.
IMHO sollte der Zielpfad auf ein konkretes selbstbestimmtes "Root" verweisen,
sonst landet ja alles im User-Ordner...
rem d:\001 Pfad des Programms
rem d:\002 Quellpfad der Bilder
rem d:\003 Zielpfad der Bilder
echo J|del d:\001\liste.txt
echo J|del d:\001\liste1.txt
@echo Geben Sie bitte einen Titel fuer das Fotoalbum ein!
set /P NAME=
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set ordner="%jahr%-%monat%-%tag% (%NAME%)"
d:
cd\
cd d:\003
md %ordner%
cd %ordner%
echo Pfad der Fotos: d:\002 -- also das Kameraverzeichnis
echo wäre für den Dir-befehl anzupassen
d:
cd \
cd d:\001
dir /B d:\002\*.jpg > d:\001\liste.txt
findstr /N "jpg" d:\001\liste.txt > d:\001\liste1.txt
d:
cd \
cd d:\001
for /F "tokens=1,2 delims=:" %%i in (liste1.txt) do echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_%%i.jpg
cd ..
wenn du die Pfade auf deine Verhältnisse anpasst,
könnt es klappen.
IMHO sollte der Zielpfad auf ein konkretes selbstbestimmtes "Root" verweisen,
sonst landet ja alles im User-Ordner...
rem d:\001 Pfad des Programms
rem d:\002 Quellpfad der Bilder
rem d:\003 Zielpfad der Bilder
echo J|del d:\001\liste.txt
echo J|del d:\001\liste1.txt
@echo Geben Sie bitte einen Titel fuer das Fotoalbum ein!
set /P NAME=
set jahr=%date:~-4%
set monat=%date:~-7,2%
set tag=%date:~-10,2%
set ordner="%jahr%-%monat%-%tag% (%NAME%)"
d:
cd\
cd d:\003
md %ordner%
cd %ordner%
echo Pfad der Fotos: d:\002 -- also das Kameraverzeichnis
echo wäre für den Dir-befehl anzupassen
d:
cd \
cd d:\001
dir /B d:\002\*.jpg > d:\001\liste.txt
findstr /N "jpg" d:\001\liste.txt > d:\001\liste1.txt
d:
cd \
cd d:\001
for /F "tokens=1,2 delims=:" %%i in (liste1.txt) do echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_%%i.jpg
cd ..
hallo nordisch
noch eine kleine Ergänzung...
for /F "tokens=1,2 delims=:" %%i in (liste1.txt) do (
if %%i LEQ 9 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_000%%i.jpg
if %%i GTR 9 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_00%%i.jpg
)
nach deiner Vorgabe sollten es ja max 99 Dateien sein
(das im vorigen Kommentar auftauchende cdcd liegt an der
Nichtdarstellung des Backslashes - sorry)
darius
noch eine kleine Ergänzung...
for /F "tokens=1,2 delims=:" %%i in (liste1.txt) do (
if %%i LEQ 9 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_000%%i.jpg
if %%i GTR 9 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_00%%i.jpg
)
nach deiner Vorgabe sollten es ja max 99 Dateien sein
(das im vorigen Kommentar auftauchende cdcd liegt an der
Nichtdarstellung des Backslashes - sorry)
darius
Hallöchen nordisch
hab nochmal ein wenig mit der For-Schleife gebastelt
sollte so auch dreistellig klappen (du willst ja die Bilder bestimmt
in der gleichen Reihenfolge haben)
probier mal -
Pfade könnte man ja auch in Variablen gießen
Darius
d:
cd \\
cd d:\001
for /F "tokens=1,2 delims=:" %%i in (liste1.txt) do (
if %%i LEQ 9 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_000%%i.jpg
if %%i GTR 9 (
if %%i LEQ 99 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_00%%i.jpg
)
if %%i GTR 99 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_0%%i.jpg
)
cd ..
hab nochmal ein wenig mit der For-Schleife gebastelt
sollte so auch dreistellig klappen (du willst ja die Bilder bestimmt
in der gleichen Reihenfolge haben)
probier mal -
Pfade könnte man ja auch in Variablen gießen
Darius
d:
cd \\
cd d:\001
for /F "tokens=1,2 delims=:" %%i in (liste1.txt) do (
if %%i LEQ 9 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_000%%i.jpg
if %%i GTR 9 (
if %%i LEQ 99 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_00%%i.jpg
)
if %%i GTR 99 echo J|copy d:\002\%%j d:\003\%ordner%\pic_%ordner%_0%%i.jpg
)
cd ..