Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
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.
GELÖST

Batch zum Umbennen von Daten

Frage Entwicklung Batch & Shell

Mitglied: nordisch

nordisch (Level 1) - Jetzt verbinden

08.09.2006, aktualisiert 07.08.2009, 4339 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


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
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
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

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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Bestimmte Daten aus CSV per Windows BATCH Datei in .txt Format schreiben lassen. (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Batch & Shell
gelöst BATCH: Daten aus Textdatei auslesen und in neue Textdatei separieren (9)

Frage von Manuel1234 zum Thema Batch & Shell ...

Windows 10
Fenster Mini- Maximieren per Batch-Befehl (1)

Frage von knitti zum Thema Windows 10 ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (31)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...