2009-08-24 5 views

Répondre

5

utiliser la commande for

for /f "tokens=*" %f in ('dir . /ad/b') do copy "a.jpg" "%f" 

Souvenez-vous d'utiliser %% f au lieu de% lors du placement dans un fichier batch

+0

Qu'en est-il un fichier caché ou système? J'ai essayé mais il dit que le fichier n'a pas été trouvé – Strider

5

Vous pouvez le faire en utilisant la commande for avec le commutateur /r, qui est utilisé pour énumérer une arborescence de répertoires. Par exemple, cette copie le fichier C: \ a.jpg au dossier C: \ Test et tous ses sous-dossiers:

for /r "C:\Test" %%f in (.) do (
    copy "C:\a.jpg" "%%~ff" > nul 
) 

La déclaration for /r "C:\Test" %%f in (.) énumère le dossier C: \ Test et tous ses sous-dossiers et %%~ff renvoie le nom du dossier actuel.

2

vous pouvez copier un fichier dans tous les dossiers d'un répertoire en utilisant la commande suivante

pour/F% g ('dir/AD/B/S') do not copy c: \ monfichier% g

explication:

Dans la commande ci-dessus: - % g est une variable, dir/AD/B/S: - est une commande pour afficher tous les dossiers et les sous-dossiers d'un répertoire, /F: - est un commutateur que nous avons utilisé pour la commande, si nous voulons parcourir les résultats d'une commande entre parenthèses (dans notre cas c'est 'dir/AD/B/S'), c: \ myfile: - est le fichier que nous voulons copier dans tous les sous-dossiers

Questions connexes