Je souhaite copier un fichier spécifique dans une structure de répertoires cible signifiant dans tous les dossiers et sous-dossier et sous-sous-dossier. Fondamentalement, dans une arborescence de répertoires.
J'ai essayé d'utiliser robocopy, mais il n'a que l'option de défiler le niveau sur la source et non sur la cible
C'est ce que j'ai essayé jusqu'à présent avec robocopy et simple batch
:: copies to only one target directory
robocopy "%SOURCE_FILE_DIR_PATH%" "%TARGET_ROOT_FOLDER_PATH%" %FILE_NAME%
:: copies to only 1 sub-level
for /f "delims=" %%a in ('dir /b "%TARGET_ROOT_FOLDER_PATH%"') do (
for /f "delims=" %%b in ('dir /b "%TARGET_ROOT_FOLDER_PATH%\%%a"')
do (
copy /y "%FILE_NAME%" "%TARGET_ROOT_FOLDER_PATH%\%%a\%%b"
)
)
Vous pouvez combiner les options /D
et /R
pour parcourir une arborescence de répertoires. Je pense donc que cela fonctionnerait pour vous.
set "TARGET_ROOT_FOLDER_PATH=C:\folder\subfolder"
set "FILE_NAME=foo.txt"
FOR /D /R "%TARGET_ROOT_FOLDER_PATH%" %%G IN (*) DO COPY /y "%FILE_NAME%" "%%G"
Vous pouvez modifier légèrement votre code pour utiliser les options /AD
et /S
de la DIR
commande.
for /f "delims=" %%G in ('dir /ad /b /s "%TARGET_ROOT_FOLDER_PATH%"') do copy "%FILE_NAME%" "%%G"
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots