La copia del file batch esiste già?
-
07-07-2019 - |
Domanda
Ecco lo snippet. %% X è il percorso di origine. Voglio sostituire il percorso di origine con il percorso di destinazione o semplicemente rimuovere il percorso di origine.
% _DEST% \ %% X non funziona in questo snippet ... dove controlla se il file di destinazione esiste già. Qual è il modo corretto per verificare se esiste il file di destinazione?
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%"
)
Soluzione
Usa ~ n
nella variabile per eliminare la parte del percorso. Inoltre, non è necessario % _SRC \%
nella riga 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%"
)
Controlla per /?
per spiegazioni e altre chicche.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow