这是片段。 %% 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%"
)
答案 0 :(得分:1)
在变量中使用~n
来删除路径部分。此外,您在xcopy行中不需要%_SRC\%
:
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 /?
以获取解释和其他好处。