Batch - Probleme mit verzögerter Variablenerweiterung
Hallo,
Ich möchte per Batchdatei mit IrfanView Bilder verkleinern und gleichzeitg umbenennen. Dabei soll der Dateiname einen festen Stamm haben und fortlaufende Nummern am Ende.
Größe ändern klappt soweit. Der Irfanviewbefehl ist auch erstmal nebensächlich.
Das Problem ist: die Nummern werden nicht hochgezählt, sondern bleiben auf 1 (wenn ich die Variable in %% schreibe, in !! wird garnix erweitert.
Hat jemand nen heißen Tipp für mich?
Hier mal mein Code:
Ich möchte per Batchdatei mit IrfanView Bilder verkleinern und gleichzeitg umbenennen. Dabei soll der Dateiname einen festen Stamm haben und fortlaufende Nummern am Ende.
Größe ändern klappt soweit. Der Irfanviewbefehl ist auch erstmal nebensächlich.
Das Problem ist: die Nummern werden nicht hochgezählt, sondern bleiben auf 1 (wenn ich die Variable in %% schreibe, in !! wird garnix erweitert.
Hat jemand nen heißen Tipp für mich?
Hier mal mein Code:
@echo off
set var=1
set/p filename=Dateiname:
for %%j in (%*) do (
C:\Programme\IrfanView\i_view32.exe "%%~dpnj.JPG" /jpgq=80 /resize_long=600 /resample /aspectratio /convert=%filename%_!var!.jpg
set /a var+=1
)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 146335
Url: https://administrator.de/contentid/146335
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
3 Kommentare
Neuester Kommentar
Hallo kleinerbub!
Wenn Du "
Grüße
bastla
[Edit] @Biber: Das Bestreben, größer zu werden, habe ich schon zugunsten der Querformat-Version aufgegeben ... [/Edit]
Wenn Du "
delayedExpansion
" willst, musst Du das auch deutlich machen:@echo off & setlocal enabledelayedexpansion
bastla
[Edit] @Biber: Das Bestreben, größer zu werden, habe ich schon zugunsten der Querformat-Version aufgegeben ... [/Edit]
Moin kleinerbub,
du musst die Verwendung von "verzögerten Variablenauflösung" ansagen, ähnlich wie beim Doppelkopf.
Sonst zählt es nicht, auch sehr ähnlich.
-> Nach dem "@echo off" in der ersten Zeile steht eigentlich immer ein " & SetLocal"
-> in deinem Fall muss aber ein "@echo off & SetLocal EnableDelayedExpansion" stehen.
-> Und nein, es gibt keine Abkürzung " SetLocal EDE" oder ähnliches dafür, du musst es bis zur letzten Silbe ausschreiben AFAIK.
Grüße
Biber
[Edit] @bastla: Wenn ich gross bin, lern ich maschineschreiben.... oder mich kürzer zu fassen [/Edit]
du musst die Verwendung von "verzögerten Variablenauflösung" ansagen, ähnlich wie beim Doppelkopf.
Sonst zählt es nicht, auch sehr ähnlich.
-> Nach dem "@echo off" in der ersten Zeile steht eigentlich immer ein " & SetLocal"
-> in deinem Fall muss aber ein "@echo off & SetLocal EnableDelayedExpansion" stehen.
-> Und nein, es gibt keine Abkürzung " SetLocal EDE" oder ähnliches dafür, du musst es bis zur letzten Silbe ausschreiben AFAIK.
Grüße
Biber
[Edit] @bastla: Wenn ich gross bin, lern ich maschineschreiben.... oder mich kürzer zu fassen [/Edit]