Batch zum Umbennen von Daten

Mitglied: nordisch

nordisch (Level 1) - Jetzt verbinden

08.09.2006, aktualisiert 07.08.2009, 4659 Aufrufe, 7 Kommentare

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 :) face-smile


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
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.
Mitglied: dariusausberlin
12.09.2006 um 13:54 Uhr
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 ..
Bitte warten ..
Mitglied: dariusausberlin
13.09.2006 um 12:04 Uhr
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
Bitte warten ..
Mitglied: nordisch
14.09.2006 um 11:39 Uhr
hi darius,

erstmal vielen dank :) face-smile
leider funktioniert es noch nicht ganz.
der neue Ordner (zB 2006-09-14 (Test)) wird im Ordner 003 erstellt, jedoch ohne Inhalt. In der liste.txt werden alle Dateien gelistet (Testdaten: "P0004169.JPG" - sollte wenn möglich flexibel sein, da die Dateien auch anders heissen können).
Und max. Dateien sollten 999 sein.

Dann ist mir aufgefallen das 3x "cd cd" in dem batch vorkommt - da gabs fehlermeldungen. ich habe dann jeweils ein "cd" entfernt.

nordisch
Bitte warten ..
Mitglied: dariusausberlin
14.09.2006 um 12:59 Uhr
hallo nordisch

die doppelten cd's kommen einfach vom
Reinkopieren
eigentlich stand in der Zeile zuvor "cd \"
um einen Wechsel in ein definiertes
Verzeichnis zu bewirken.
-- hatte mir leider nicht die Vorschau angesehen

-- sorry !!

Darius

(der Copy sollte aber klappen)
Bitte warten ..
Mitglied: dariusausberlin
14.09.2006 um 13:14 Uhr
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 ..
Bitte warten ..
Mitglied: nordisch
14.09.2006 um 15:10 Uhr
hi darius

jetzt läuft der batch :) face-smile

ich musste allerdings noch den Part >>findstr /N "jpg"<< in >>findstr /N "JPG"<< ändern da die endung auf der kamera groß geschrieben ist.

hab vielen dank


gruss nordisch
Bitte warten ..
Mitglied: dariusausberlin
14.09.2006 um 15:29 Uhr
Hi nordisch

freut mich geholfen zu haben

gerne wieder

Darius
Bitte warten ..
Heiß diskutierte Inhalte
Windows Server
Infrastruktur für Firma
brainwashVor 19 StundenFrageWindows Server7 Kommentare

Hallo zusammen, kurze Erklärung zu meinem Problem Wir sind eine kleine Firma mit zwei Standorten im Bereich Brandschutz. Zur Zeit nutzen wir für unsere ...

Netzwerkprotokolle
Proxy Zugang von Extern
gelöst Jannik2018Vor 1 TagFrageNetzwerkprotokolle17 Kommentare

Hallo zusammen, ich habe mir einen Squid Proxy auf einer Linux VM aufgesetzt und möchte das man aus allen netzen drauf zugreifen kann allerdings ...

Windows Server
Windows 10 VM auf Server 2019 Essentials
jhuedderVor 1 TagFrageWindows Server10 Kommentare

Hallo, einer meiner Kunden möchte aus Kostengründen einen Windows Server 2019 (direkt auf einer physikalischen Maschine installiert) erwerben und dort für einen Außendienstler mit ...

Server-Hardware
Verkaufe RX300 S7 Server von Fuijutsu
HolzBrettVor 20 StundenAllgemeinServer-Hardware9 Kommentare

Hi, Ich wohne in Aachen und habe die Server von der Firma umsonst erhalten. Ich habe sie bereits überprüft (es geht alles). Ich möchte ...

Windows Server
Veeam Endpoint Backup FREE zur Sicherung eines DCs
gelöst takvorianVor 1 TagFrageWindows Server7 Kommentare

Hallo zusammen, ich habe hier bei mir 1 Hypervisor mit 4 VMs (darunter 1 DC) welche ich mittels backupAssist alle wegsichere. Klappt soweit auch ...

LAN, WAN, Wireless
WLan-unterstütztes Telefonieren iOS, Unifi
VisuciusVor 1 TagFrageLAN, WAN, Wireless8 Kommentare

Hallo. Ich bins (wieder) ;-) Guten Morgen, ich beobachte seit einer Umstellung ein "komisches Verhalten" und kann mir das gerade nicht erklären. Und vielleicht ...

LAN, WAN, Wireless
Heimnetzwerk mit VLAN - getrennter Internetzugang
gelöst anyibkVor 1 TagFrageLAN, WAN, Wireless5 Kommentare

Hallo liebe Community! Ich bastle seit einiger Zeit an einem recht besonderen Heimnetzwerkproblem. Wir haben einen neuen Glasfaseranschluss ins Haus (3 Parteien) bekommen und ...

LAN, WAN, Wireless
Verständnisfrage VPN Performance pfSense
flabsVor 1 TagFrageLAN, WAN, Wireless7 Kommentare

Moin Kollegen, ich betreibe 3 pfSense Firewalls an 3 Standorten. Zwischen Standort A und B gibt es einen IPSec Tunnel. Der läuft seit Jahren ...