whine: batch Ordner vergleichen

Beitrag lesen

Guten Morgen! Ich habe ein Verzeichnis mit ein paar hundert .eps Dateien und ein weiteres mit diesen als .svg abgespeichert. Nun fehlen einige Hände voll .svg Dateien, die ich herausfinden möchte. Der Dateiname ist immer gleich, nur die Extension ist unterschiedlich.

Mit diesem Script werden mir fehlenden Dateien in einen /result-Ordner gespeichert. Leider nur, wenn ich das Beispieldateien bei gleicher Extension ausprobiere.

@echo off &setlocal
set /p "svg=Verzeichnis svg: "
set /p "eps=Verzeichnis eps: "
set /p "result=Verzeichnis result: "

if not exist "%svg%" (echo Ordner svg ist nicht vorhanden! &pause>nul &goto :eof)
if not exist "%eps%" (echo Ordner eps ist nicht vorhanden! &pause>nul &goto :eof)
md "%result%" 2>nul
for /f "delims=" %%a in ('dir /a-d /b "%eps%\*.*"') do (
  if not exist "%svg%\%%~a" copy "%eps%\%%~a" "%result%\%%~a"
)
pause

Wie bekomme ich das hin, dass er er mir nur den Dateinamen ohne Extension prüft, also

test1.eps versus test1.svg --> Datei ist da, keine Aktion

test55.eps --> keine test55.svg gefunden --> speichern von test55.eps in /result

Hat jemand eine Idee?

whine