albafotos
Goto Top

Mit Batch Script Datei aus Text umbenennen

Hallo, ich habe ein paar nicht komplizierte -.bat Datei für meine persönliche gescannten Bilder oder Negative geschrieben.
Liegt bei mir im F:\BILDER\MyConfigs.

Die Datei/Bilder aus Text mit Batch Script für Archivierung umbenennen ist für mich etwas kompliziert. (Bestimt nur mit Befehl “For“ möglich).

Im Bildnummer.xls (Exel) habe ich folgenede Text:
Urlaub_1
Urlaub_2
Urlaub_3
Urlaub_4
Urlaub_5
Urlaub_6 ...

... Urlaub_n

Nach dem Scanvorgang im Ordner F:\BILDER\Scan habe ich immer ab 1 bis 12 -.jpg Bilder:

Bild_1.jpg
Bild_2.jpg
Bild_3.jpg
Bild_4.jpg
Bild_5.jpg
Bild_6.jpg...

... Bild_12.jpg

Diese Namenreihenfolge der gescannte Bilder ist sehr wichtig für Bildbearbeitung mit nconvert command line.

Ich möchte nach Bearbeitung die Bilder im F:\BILDER\Fertig und F:\BILDER\Scan aus Bildnummer.xls nach Reihenfolge mit gleichem Namen umbenennen.
Benutzte Bildummer aus Bildnummer.xls löschen.

z.B.:
Bild_1.jpg > Urlaub_1.jpg
Bild_2.jpg > Urlaub_2.jpg
...
Bild_12.jpg > Urlaub_12.jpg usw.

Nächste Scan und Bearbeitung aus Scannummer.xls umbenennen:

Bild_1.jpg > Urlaub_13.jpg
Bild_2.jpg > Urlaub_14.jpg

...
Bild_12.jpg > Urlaub_24.jpg usw.

Nach Scanvorgang Bildermenge ist unterschiedlich ab 1 bis 12 Bilder und Umbenennen Anhand der vorliegenden Bilderzahl im F:\BILDER\Fertig oder F:\BILDER\Scan.
Kann Jemand bitte mir helfen? Dankabar im vorraus.
Damit ich nicht blind kopiere, ist kurze Kommentar per REM möglich?

Content-ID: 180399

Url: https://administrator.de/forum/mit-batch-script-datei-aus-text-umbenennen-180399.html

Ausgedruckt am: 19.12.2024 um 18:12 Uhr

60730
60730 11.02.2012 um 19:36:37 Uhr
Goto Top
Moin,
Zitat von @Albafotos:
Hallo, ich habe ein paar nicht komplizierte -.bat Datei für meine persönliche gescannten Bilder oder Negative geschrieben.
Liegt bei mir im F:\BILDER\MyConfigs.
  • mach doch bitte mal deine Firewall aus, ich komme nicht auf dein Laufwerk f:\
Du darfst auch gerne die Codetags benutzen
Kann Jemand bitte mir helfen? Dankabar im vorraus.
Damit ich nicht blind kopiere, ist kurze Kommentar per REM möglich?
bastla
bastla 11.02.2012 um 20:13:34 Uhr
Goto Top
Hallo Albafotos und willkommen im Forum!

Zunächst einmal solltest Du die Bldnamen aus Excel mit einem "Speichern unter..." als Text- oder CSV-Datei in eine Datei "Bildnamen.txt" oder "Bildnamen.csv" exportieren.
Ich möchte nach Bearbeitung die Bilder im F:\BILDER\Fertig und F:\BILDER\Scan aus Bildnummer.xls nach Reihenfolge mit gleichem Namen umbenennen.
ist unklar - alle umzubenennenden Bilder sollten sich im gleichen Ordner (im Beispiel unten nehme ich an "Fertig") befinden - das könnte dann (ungetestet) etwa so gehen:
@echo off & setlocal
:: aus Excel exportierte Namensdatei angeben
set "Namen=F:\BILDER\Scan\Bildnamen.txt"  

:: in den Ordner mit den Bildern wechseln
pushd "F:\BILDER\Fertig"  
:: alle enthaltenen Bilder (in Namensreihenfolge) durchgehen und dem Unterprogramm :ProcessFile einzeln zur Bearbeitung übergeben
for /f "delims=" %%i in ('dir /b /on *.jpg') do call :ProcessFile "%%i"  
:: vorherigen Ordnerwechsel rückgängig machen
popd
:: Ende Hauptprogramm
goto :eof

:ProcessFile
:: erste Zeile aus Namensdatei in die Variable %Name% einlesen
set /p Name=<"%Namen%"  
:: Bilddatei umbenennen
ren %1 "%Name%"  
:: erste Zeile der Namensdatei überspringen und Rest in eine Temp-Datei schreiben
>%temp%\Namen.txt more +1 "%Namen%"  
:: Namensdatei durch Temp-Datei ersetzen
move %temp%\Namen.txt "%Namen%"  
goto :eof
Grüße
bastla
Albafotos
Albafotos 28.02.2012 um 12:58:32 Uhr
Goto Top
Erstmal vielen Dank für die schnelle Antwort. Das Skript Auf Herz und Nieren geprüft.
Kunstwerk, funktioniert fehlerfrei!

- Skript im -.bat umbenennen
- Bildnamen.txt die Namen mit Dateierweiterungen/-endungen speichern, sonst Spuckt Erweiterungslose Dateien.


Funktioniert, aber ich habe jetz Problem mit weitere Bearbeitung.

z.B.: mit Irfanview, der danach auf Ordner mit umbenannte Bilder zugreifen muss.

Beispiel Skript:

@echo off & setlocal
:: aus Excel exportierte Namensdatei angeben
set "Namen=F:\BILDER\Scan\Bildnamen.txt"

:: in den Ordner mit den Bildern wechseln
pushd "F:\BILDER\Fertig"
:: alle enthaltenen Bilder (in Namensreihenfolge) durchgehen und dem Unterprogramm :ProcessFile einzeln zur Bearbeitung übergeben
for /f "delims=" %%i in ('dir /b /on *.jpg') do call :ProcessFile "%%i"
:: vorherigen Ordnerwechsel rückgängig machen
popd
:: Ende Hauptprogramm
goto :eof

:ProcessFile
:: erste Zeile aus Namensdatei in die Variable %Name% einlesen
set /p Name=<"%Namen%"
:: Bilddatei umbenennen
ren %1 "%Name%"
:: erste Zeile der Namensdatei überspringen und Rest in eine Temp-Datei schreiben
%temp%\Namen.txt more +1 "%Namen%"
:: Namensdatei durch Temp-Datei ersetzen
move %temp%\Namen.txt "%Namen%"

D:\Programme\IrfanView\i_view32.exe F:\BILDER\Fertig\*.jpg /advancedbatch /ini="F:\BILDER\MyConfigs\" /convert=F:\BILDER\Bilder_ENDE\*.jpg

::Ende

---

Das Umbenennen-Skript dauert und Irfanview greift gleich zu und funktioniert nicht richtig.

Mein Versuch erstmals Umbenennen-Skript bearbeiten lassen und dann zu IrfanView springen war erfolglos.


IF NOT errorlevel 1 goto Weiter

:Weiter

Wie kann man es lösen. Vielen Dank!
bastla
bastla 28.02.2012 um 13:09:31 Uhr
Goto Top
Hallo Albafotos!

Findest Du nicht auch, dass Batch mit "Code"- nicht nur schöner, sondern auch besser lesbarer ist (Hint: lässt sich auch naträglich noch hinzufügen)?
Wenn Du den "Irfan View"-Start in Zeile 11 platzierst, wird zuerst der gesamte bisherige Batch durchlaufen (deswegen auch "Ende Hauptprogramm") ...

Grüße
bastla
Albafotos
Albafotos 27.03.2012 um 10:58:59 Uhr
Goto Top
Vielen Dank bastla!

geht tadellos.
Ich habe noch eine Frage - Text im Internet Link per DOS Befehl einfügen. Muss ich neue Tread öffnen?


Grüße Albafotos
bastla
bastla 27.03.2012 um 11:54:26 Uhr
Goto Top
Hallo Albafotos!
Muss ich neue Tread öffnen?
Ist auf jeden Fall sinnvoller ...

Grüße
bastla