Copia de archivo por lotes ¿Ya existe el archivo de destino?
-
07-07-2019 - |
Pregunta
Aquí está el fragmento. %% X es la ruta de origen. Quiero reemplazar la ruta de origen con la ruta de destino o simplemente eliminar la ruta de origen.
% _DEST% \ %% X no funciona en este fragmento ... donde verifica si el archivo de destino ya existe. ¿Cuál es la forma correcta de verificar si el archivo de destino existe?
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%"
)
Solución
Use ~ n
en la variable para deshacerse de la parte de la ruta. Además, no necesita % _SRC \%
en la línea 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%"
)
Consulte para /?
para obtener explicaciones y otras ventajas.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow