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%"
)
È stato utile?

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
scroll top