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-ID: 203450

Url: https://administrator.de/forum/dateien-selektieren-zu-denen-eine-pdf-datei-existiert-203450.html

Ausgedruckt am: 18.04.2025 um 08:04 Uhr

Endoro
Endoro 17.03.2013 um 11:57:48 Uhr
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'.
rubberman
rubberman 17.03.2013 aktualisiert um 12:06:38 Uhr
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.
chwin1
chwin1 17.03.2013 um 12:59:21 Uhr
Goto Top
Perfekt - vielen Dank! Die Option ~N kannte ich noch nicht. VG