kleinerbub
Goto Top

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:

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

Content-Key: 146335

Url: https://administrator.de/contentid/146335

Printed on: April 24, 2024 at 04:04 o'clock

Member: bastla
bastla Jul 06, 2010 at 11:59:17 (UTC)
Goto Top
Hallo kleinerbub!

Wenn Du "delayedExpansion" willst, musst Du das auch deutlich machen:
@echo off & setlocal enabledelayedexpansion
Grüße
bastla

[Edit] @Biber: Das Bestreben, größer zu werden, habe ich schon zugunsten der Querformat-Version aufgegeben ... face-wink [/Edit]
Member: Biber
Biber Jul 06, 2010 at 12:01:23 (UTC)
Goto Top
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 face-wink [/Edit]
Member: kleinerbub
kleinerbub Jul 07, 2010 at 06:06:51 (UTC)
Goto Top
Tach ihr beiden,

funktioniert einwandfrei! Danke.

Wieder was dazu gelernt.

Gruß, kleinerbub