mksadm
Goto Top

Batch - alle unterverzeichnisse miteinbeziehen

Hallo zusammen,

ich habe folgendes einfaches Skript:


CD /D C:\Program Files\IrfanView
i_view64.exe c:\temp1\ /resize=(2592,2592) /sharpen=10 /aspectratio /convert=c:\temp2\*.jpg

ich möchte nun das verzeichniss c:\temp\ und dann alle unterordner miteinbeziehen.
Wie muss der Befehl lauten?

Gruss M

Content-Key: 344026

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

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

Member: Snowman25
Snowman25 Jul 20, 2017 updated at 14:51:01 (UTC)
Goto Top
Hallo @mksadm,

wenn ich das richtig sehe, hat irfanview keinen Parameter für Rekursion, deshalb musst du den "langen" Weg gehen:
SETLOCAL ENABLEDELAYEDEXPANSION
CD /D C:\Program Files\IrfanView
FOR/F %%i IN ('dir /S /B C:\temp1\*.jpg') DO (  
    SET source=%%i
    SET dest=!source:temp1=temp2!
    i_view64.exe "!source!" /resize=(2592,2592) /sharpen=10 /aspectratio /convert="!dest!"  
)

Gruß,
@Snowman25
Member: mksadm
mksadm Jul 20, 2017 at 15:11:30 (UTC)
Goto Top
Hi Snowman,

es kommt folgende Meldung:

%i : Cant read file header !
Unknown file format, empty/damaged file or file not found !

Ziel ist es alle Ordner 1 zu 1 zu kopieren, und nur die .jpg sollen gewandelt werden.
Member: Snowman25
Snowman25 Jul 20, 2017 at 15:14:00 (UTC)
Goto Top
Hallo @mksadm,

ich bin davon ausgegangen, dass du das in einer Datei hast und diese ausführst.
Wenn du copy/paste machst, musst du alle %%i zu %i umwandeln.

Das obige Script wird NUR die JPGs convertieren und keine anderen Dateien kopieren.

Gruß,
@Snowman25
Member: mksadm
mksadm Jul 20, 2017 at 15:24:01 (UTC)
Goto Top
ich denke ich habe mich falsch ausgedrückt.

in c:\temp1 gibt es einen ordner x. unter diesem sind weitere ordner. in diesen ordnern befinden sich .jpg und andere dateien.
nun soll alles kopiert werden auf c:\temp2, nur die .jpg sollen gewandelt werden, die struktur soll aber bestehen bleiben.
auch wenn ich %i angebe, kommt dieselbe meldung.
Member: mksadm
mksadm Jul 21, 2017 at 09:51:27 (UTC)
Goto Top
leider beklomme ich immer dieselbe fehlermeldung