Exploration de fichiers et copie dans un script CMD
@echo off
echo list de fichier dans le repertoire
type repertoire.txt
pause
echo resultat for
for /f %%a in (repertoire.txt) do dir %homedrive%\%%a
::for /f %%a in (repertoire.txt) do xcopy %homedrive%\%%a\* f:\testcopie\%%a rp/s/e/y
pause
voici une description détaillée de chaque élément du script, y compris les options utilisées dans les commandes `for` et `dir` :
1. @echo off : Cette commande désactive l'affichage des commandes dans la console pendant l'exécution du script.
2. echo list de fichier dans le repertoire: Affiche un message dans la console indiquant que la liste des fichiers dans le répertoire va être affichée.
3. type repertoire.txt: Affiche le contenu du fichier "repertoire.txt" dans la console. Cette commande utilise la commande `type` pour afficher le contenu d'un fichier texte.
4. pause: Met en pause l'exécution du script jusqu'à ce qu'une touche soit pressée, permettant à l'utilisateur de visualiser les résultats affichés par la commande `type`.
5. echo resultat for: Affiche un message dans la console indiquant que les résultats de la boucle `for` vont être affichés.
6. for /f %%a in (repertoire.txt) do dir %homedrive%\%%a: Cette boucle `for` parcourt chaque ligne du fichier "repertoire.txt" et exécute la commande `dir` pour afficher le contenu du répertoire spécifié par chaque ligne du fichier. Voici un détail des options utilisées :
- `/f` : Cette option spécifie le mode de traitement du fichier texte. Ici, elle est utilisée pour traiter chaque ligne du fichier comme une entrée distincte.
- `%%a` : C'est la variable de boucle qui prend la valeur de chaque ligne du fichier "repertoire.txt".
- `in (repertoire.txt)` : Spécifie le fichier à partir duquel les données sont lues pour la boucle `for`.
- `dir %homedrive%\%%a` : Cette commande `dir` affiche le contenu du répertoire spécifié par la variable de boucle `%%a`. `%homedrive%` est une variable d'environnement qui représente le lecteur sur lequel se trouve le dossier utilisateur principal.
7. ::for /f %%a in (repertoire.txt) do xcopy %homedrive%\%%a\* f:\testcopie\%%a rp/s/e/y : Cette ligne est actuellement en commentaire (marquée par "::"). Si elle était décommentée (en retirant "::"), elle copierait chaque fichier du répertoire spécifié par "repertoire.txt" vers un autre emplacement. Voici un détail des options utilisées :
- `/f` : Cette option spécifie le mode de traitement du fichier texte, tout comme pour la première boucle `for`.
- `%%a` : C'est la variable de boucle utilisée pour parcourir chaque ligne du fichier "repertoire.txt".
- `in (repertoire.txt)` : Spécifie le fichier à partir duquel les données sont lues pour la boucle `for`.
- `xcopy %homedrive%\%%a\* f:\testcopie\%%a rp/s/e/y` : Cette commande `xcopy` copie chaque fichier du répertoire spécifié par la variable de boucle `%%a` vers un autre emplacement. Les options utilisées sont :
- `rp/s/e/y` : Ces options indiquent à xcopy de copier récursivement tous les sous-dossiers (/s), y compris les fichiers vides (/e), en remplaçant automatiquement les fichiers existants sans demander à l'utilisateur (/y).
8. pause : Met fin à l'exécution du script, permettant à l'utilisateur de consulter les résultats avant que la fenêtre CMD ne se ferme.
Ces détails fournissent une explication complète de chaque élément du script, y compris les options utilisées dans les commandes `for` et `dir`.
repertoire.txt -> "Users\hecq9\Ecoles\Systeme exploitation\Nouveau dossier"
Ajouter un commentaire