La copie de fichier par lots est-ce que le fichier de destination existe déjà?

StackOverflow https://stackoverflow.com/questions/1434928

  •  07-07-2019
  •  | 
  •  

Question

Voici l'extrait de code. %% X est le chemin source. Je souhaite remplacer le chemin source par le chemin de destination ou simplement supprimer le chemin source.

% _ DEST% \ %% X ne fonctionne pas dans cet extrait de code ... où il vérifie si le fichier de destination existe déjà. Quelle est la bonne façon de vérifier si le fichier de destination 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%"
)
Était-ce utile?

La solution

Utilisez ~ n dans la variable pour supprimer la partie chemin. De plus, vous n'avez pas besoin de % _ SRC \% dans la ligne 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%"
)

Consultez pour /? pour obtenir des explications et d'autres informations utiles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top