这是片段。 %% 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%"
)
有帮助吗?

解决方案

在变量中使用 ~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%"
)

查看 /?以获取解释和其他好处。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top