cópia de arquivo de lote não arquivo de destino já existe?
-
07-07-2019 - |
Pergunta
Aqui está o trecho. %% X é o caminho de origem. Quero substituir o caminho de origem com o caminho do destino ou apenas remover o caminho de origem.
% _ DEST% \ %% X não está funcionando neste trecho ... onde ele verifica para ver se o arquivo de destino já existe. O que é a maneira correta de verificar para ver se existe o arquivo de destino?
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%"
)
Solução
Use ~n
na variável para se livrar da parte do caminho. Além disso, você não precisa %_SRC\%
na linha 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%"
)
Confira for /?
para explicação e outras guloseimas.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow