バッチファイルのコピー先のファイルは既に存在しますか?
-
07-07-2019 - |
質問
これがスニペットです。 %% 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%"
)
説明およびその他の利点については、 for /?
をご覧ください。
所属していません StackOverflow