Batch avec boucle en shell windows

Fermé
WHallier - 20 avril 2009 à 18:27
dubcek Messages postés 18769 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 30 mars 2025 - 21 avril 2009 à 08:46
Bonjour,

Ma demande concerne un batch en shell windows 2003.

Je souhaiterai effectuer des commandes "replace" entre des sous-dossiers source et des dossiers de destination.

J'ai un dossier \\Serveur1\dossier-source\ et X sous-dossier--source
L'arborescence du dossier de destination est identique

Je dois remplacer par les fichiers (de références éditeur par exemple) des sous-dossiers sources (dont la liste est évolutive) vers des sous-dossiers de destination (dont la liste est/sera identique) mais qui peuvent contenir des fichiers supplémentaires (références utilisateurs) qui ne doivent pas disparaitre.

En gros je pensais lister les sous-dossier de mon dossier source avec :
dir \\Serveur1\dossier-source\ /B /AD >folders.txt

Puis faire une boucle qui liste chaque ligne de mon fichier folders.txt. Puis d'appliquer mes commandes replace: i% étant le nom du sous-dossier trouvé dans dans le fichier folders.txt
replace \\Serveur1\dossier-source\i%\*.* \\Serveur2\dossier-source\i% /R
replace \\Serveur1\dossier-source\i%\*.* \\Serveur2\dossier-source\i% /R /A


La commande suivante ne fonctionne pas :
https://windows.developpez.com/faq/batch/?page=fichiers#read_by_line


Je suis à l'écoute de toute proposition, mes remerciements par avance pour votre aide.
A voir également:

1 réponse

dubcek Messages postés 18769 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 30 mars 2025 5 630
21 avril 2009 à 08:46
hello
en DOS, les variables sont %i et non pas i% et dans un batch, il faut utiliser double % : %%i
2