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"

Catégorie

Non spécifiée

Sous-catégorie

Sous-catégorie Inconnue

Publier

21-04-24

Auteur

Olivier

Aucun commentaire validé trouvé pour cet article.

Ajouter un commentaire

Ce site utilise des cookies pour améliorer l'expérience utilisateur et collecter des statistiques à l'aide de Google Analytics.