Quelle commande dans Windows émule la commande de déplacement / renommage récursif de Unix?
Réponses
Trop de publicités?Utilisez la commande for
de XP. Par exemple, à partir de l'invite de commandes (dans un fichier batch, utilisez %%x
à la place) pour effectuer un déplacement récursif, faites :
for /r %x in (foo) do move "%x" "drive:\chemin\bar"
Pour effectuer un renommage récursif, faites :
for /r %x in (*.c) do ren "%x" *.cpp
Exemple de fichier batch :
for /r "< DIR >" %%x in (*.c) do ren "%%x" *.cpp
robocopy "C:\Dossier Source" "C:\Dossier Destination" /E /COPYALL /XJ
Description des paramètres :
/E - copie les sous-répertoires, y compris ceux vides (/S pour exclure les vides)
/COPYALL - COPIER TOUTES les informations de fichier (équivalent à /COPY:DATSOU)
/XJ - eXclure les points de jonction et les liens symboliques (normalement inclus par défaut).
Je viens de faire un petit exemple dans ma boîte Windows XP SP2 avec la commande move et ça a fonctionné. Tous les fichiers et répertoires ont été déplacés de la source vers la destination. La source et la destination sont des noms de répertoire.
move source dest
ver
Microsoft Windows XP \[Version 5.1.2600\]
move /?
Déplace des fichiers et renomme des fichiers et des répertoires.
Pour déplacer un ou plusieurs fichiers:
MOVE \[/Y | /-Y\] \[drive:\]\[path\]nomdufichier1\[,...\] destination
Pour renommer un répertoire:
MOVE \[/Y | /-Y\] \[drive:\]\[path\]nomdurepertoire1 nomdurepertoire2
\[drive:\]\[path\]nomdufichier1 Spécifie l'emplacement et le nom du fichier
ou des fichiers que vous souhaitez déplacer.
destination Spécifie le nouvel emplacement du fichier. La destination
peut être constituée d'une lettre de lecteur et deux-points, d'un
nom de répertoire, ou une combinaison des deux. Si vous déplacez
un seul fichier, vous pouvez également inclure un nom de fichier si
vous souhaitez renommer le fichier lors du déplacement.
\[drive:\]\[path\]nomdurepertoire1 Spécifie le répertoire que vous souhaitez renommer.
nomdurepertoire2 Spécifie le nouveau nom du répertoire.
/Y Supprime la demande de confirmation si vous voulez
remplacer un fichier de destination existant.
/-Y Provoque une demande pour confirmer si vous souhaitez remplacer
un fichier de destination existant.
L'interrupteur /Y peut être présent dans la variable d'environnement COPYCMD.
Cela peut être remplacé par /-Y sur la ligne de commande. La valeur par défaut est
de demander une confirmation en cas de remplacement, sauf si la commande MOVE est exécutée à partir
d'un script batch.
for /r %%x in (%1) do ren "%%x" %2
cela renommera le fichier de manière récursive :-)
enregistrez dans un fichier en donnant 2 arguments de l'extension et à l'extension.
ex : le nom du fichier est test.bat commande : test *.avi *.bmp
il renomme tous les fichiers avec l'extension avi en bmp (dans tous les sous-dossiers :))
Note: Il s'agit d'une correction du message répondu le 26 octobre à 13h20 par Rob Kam. Il a donné
/r %x in (*.c) do ren "%x" *.cpp
alors qu'il aurait dû avoir %% au lieu de %
- Réponses précédentes
- Plus de réponses