Пакетная копия файла. Файл назначения уже существует? - PullRequest
0 голосов
/ 16 сентября 2009

Вот фрагмент. %% X является исходным путем. Я хочу заменить исходный путь на конечный путь или просто удалить исходный путь.

% _ DEST% \ %% X не работает в этом фрагменте ..., где он проверяет, существует ли уже файл назначения. Как правильно проверить, существует ли файл назначения?

call :LOGMSG Copying new jpeg image files
for %%X in (%_SRC%\*.jpeg) do if not exist %_DEST%\%%X (
    xcopy %_SRC%\%%X %_DEST% /defy >>"%run_log%"
    call sd.exe add %%X >>"%run_log%"
)

1 Ответ

1 голос
/ 16 сентября 2009

Используйте ~n в переменной, чтобы избавиться от части пути. Кроме того, вам не нужно %_SRC\% в строке xcopy:

call :LOGMSG Copying new jpeg image files
for %%X in (%_SRC%\*.jpeg) do if not exist %_DEST%\%%~nX (
    xcopy %%X %_DEST% /defy >>"%run_log%"
    call sd.exe add %%X >>"%run_log%"
)

Проверьте for /? для объяснения и других вкусностей.

...