chwin1
Goto Top

Dateien selektieren zu denen eine PDF-Datei existiert

Hallo,
ich hoffe, ihr könnt mir bei folgendem Problem behilflich sein:
Mittels einer for-Schleife durchlaufe ich sämtliche EPS-Dateien und führe anschließend ein Programm aus:
for %%x in (*.EPS) do programm.exe %%x

Das Programm soll aber nur ausgeführt werden, wenn zu der EPS-Datei eine PDF-Datei mit gleichem Namen existiert, d.h. wird eine test.eps gefunden, soll "programm.exe test.pdf" nur aufgerufen werden, wenn test.pdf auch existiert.

Wie macht man das?
Habe so probiert, den PDF-Dateinamen zu ermitteln:
set neu=%%x:~0,-3%pdf

Klappt aber nicht - wer kann helfen?

Danke und VG

Content-Key: 203450

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

Printed on: April 18, 2024 at 13:04 o'clock

Member: Endoro
Endoro Mar 17, 2013 at 10:57:48 (UTC)
Goto Top
Hallo, du kannst mit einer Forschleifenvariable keine Stringmanipulationsoperationen durchführen.
Es geht so:
for %%i in (*.eps) do if exist "%%~ni.pdf" programm.exe "%%~ni.pdf"  

For help, type 'help for'.
Member: rubberman
rubberman Mar 17, 2013 updated at 11:06:38 (UTC)
Goto Top
Hallo chwin1, willkommen im Forum.

IF EXIST prüft die Existenz, die Option ~N für die FOR Variable expandiert nur zum Dateiname.
for %%i in (*.EPS) do if exist "%%~ni.pdf" programm.exe "%%~i"  

Grüße
rubberman

EDIT @mfm4aa jetzt wenn ich deinen Beitrag lese ist mir auch nicht mehr klar, ob das Programm nun mit der EPS oder der PDF aufgerufen werden soll. Hmm.
Member: chwin1
chwin1 Mar 17, 2013 at 11:59:21 (UTC)
Goto Top
Perfekt - vielen Dank! Die Option ~N kannte ich noch nicht. VG