PDA

View Full Version : Dateiverzeichnis-Index in Batch Datei



yesuar
23.10.2007, 05:12 PM
Hallo IrfanView Profies :-),

ich hätt da mal ne frage zwar bau ich gerade an ner .bat datei die folgendes ausführen soll.
von ordner "d:\bilder\xxx1" alle *.jpeg bilder resizen auf max 100x90 und dann in "d:\bilder\xxx2" converten und dabei die bilder auf bild1, bild2, bild3 usw.... renamen.

ich hab jetzt zwar mal rausbekommen das der index, der mit $X angegeben ist, dafür zuständig ist.
Nur nicht wie ich den index deklarieren kann.
(z.B fang bei 1 an, sei 1 Zeichen lang und nimm immer 1 dazu.)

Hoffentlich kann mir wer helfen, plage mich echt schon ne zeit rum damit!:D
anbei mein code:


cd "d:\Program Files\IrfanView"
i_view32.exe D:\bilder\normal\*.jpg /resize=(100,90) /aspectratio /resample /sharpen=10 /convert=D:\bilder\verkleinert\bild#$X.jpg


bis jetzt gibt er zwar alle 24 bilder aus dem ordner durch, nennt sie aber alle bild1 bzw.. überschreibt er sie alle und das letzte bleibt mit bild 1 über.

danke
lg yesuar

GuWa
24.10.2007, 06:40 PM
Warum muß es denn umbedingt eine vorsintflutliche *.bat werden ??

Unter Datei - Batch-Konvertierung gibt es doch alles, was das Herz begehrt.

Mit "Optionen" und "Spezial-Optionen" kannst Du Dir alle Wünsche aus der Anfrage erfüllen:
Bildx mit Erhöhung um jeweils 1, wobei ich allerdings aus Gründen der besseren Sortierung empfehlen würde, gleich mit Bild01 oder Bild001 zu beginnen, abhängig von der Anzahl Deiner Bilder. Sonst sortiert dann jedes Programm in der Folge 1-11-12..19-2-21-22....3 ...

derniwi
25.10.2007, 05:51 AM
Hallo,

vielleicht kannst du dir mit einem Skript behelfen?
Im Abschnitt "verarbeiten" schreibst du deine Umwandlung rein, Parameter %1 enthält den Quelldateinamen (mit umgebenen Anführungszeichen), Parameter %2 den Zieldateinamen.

Das Skript nimmt die Bilder in der alphabetischen Reihenfolge und verarbeitet sie einzeln. Konnte es leider noch nicht Testen. Aber es sollte funktionieren.:)

Im Abschnitt "verarbeiten" habe ich vor %iview% noch ein Echo eingefügt, nur um zu sehen, was denn passieren sollte.


@echo off

set /a bildnummer=0
set quellpfad=D:\privat\Bilder\Elsass 2007
set zielpfad=c:\ziel
set zieldateiname=Bild
set endung=jpg

set iview="d:\Program Files\IrfanView\i_view32.exe"

for /f "delims=" %%a in ('dir /b /on "%quellpfad%\*.%endung%"') do call :umwandeln "%%a"
goto end

:umwandeln
set nummer=0000%bildnummer%
set nummer=%nummer:~-4%
call :verarbeiten %1 "%zielpfad%\%zieldateiname%_%nummer%.%endung%"
set /a bildnummer+=1
goto :eof

:verarbeiten
echo %iview% %1 /resize=(100,90) /aspectratio /resample /sharpen=10 /convert=%2
goto :eof

:end


Gruß, Nils.

yesuar
25.10.2007, 06:24 PM
Hy Nils,

absolute klasse! das is es, funkt wunderbar.
kann zwar ein wenig q-basic wusste jedoch nicht wie ich bilder mit irgend nen namen aus nem folder auslesen kann.

vielen dank auf jeden fall, bist mein retter :D

lg
yesuar