Vous êtes sur la page 1sur 15

L'Invite de commandes et la gestion des fichiers et des dossiers

Dernière mise à jour : 07/04/2005

Attrib Gérer les répertoires Copy


Datation des fichiers Tree Move
Granularité des fichiers Ren Xcopy
Taille des fichiers Del RoboCopy
Où sont nichés les atrributs de Replace Fc
fichiers ? Visualiser les fichiers Find
À quoi sert l'attribut temporaires Findstr
"Archive" ? Éditer les fichiers Forfiles
Supprimer les attributs de Edit Tail
fichiers Clip Compact
Dir Type Expand
Mémoriser certains paramètres Effacer le contenu d'un fichier Cabarc
Gestion des noms courts et des Créer un fichier vide
noms longs
Gestion des caractères
génériques
Trier les données

- Les attributs de fichiers :


La syntaxe est la suivante :
Attrib [{+r|-r}] [{+a|-a}] [{+s|-s}] [{+h|-h}] [[Lecteur :][Chemin] NomFichier] [/s[/d]]
Sous Ms-Dos la syntaxe est identique sauf que le commutateur /d n'est pas présent.

Commutateurs - Action définie


+r Définit l'attribut "Lecture seule"
+a Définit l'attribut "Archive"
+s Définit l'attribut "Système"
+h Définit l'attribut "Caché"
- Permet d'effectuer l'opération inverse

/s : traite les fichiers de tous les répertoires du chemin spécifié.


/d : applique la commande aux répertoires.
Imaginons un répertoire nommé Test et placé à la racine du lecteur C:
Afin visualiser les attributs du répertoire saisissez : attrib test
Si vous souhaitez le rendre inviolable, saisissez : attrib +r +a +s +h test
Saisissez de nouveau : attrib test
À titre de vérification, saisissez : rd test
Le message suivant apparaît : "Accès refusé."
Il ne vous sera pas possible de supprimer le fichier tant que vous n'aurez pas saisi cette commande :
attrib -r -a -s -h test
Par ailleurs, l'exécution d'une commande se propage automatiquement à l' ensemble des sous-
répertoires du répertoire traité.
Créons dans le répertoire Test deux fichiers nommés A.txt et B.txt.
Si nous voulons que la commande "Attrib" concerne l'ensemble des fichiers placés dans le répertoire
Test, nous saisirons : attrib +a +h +r +s c:\test /s
Puis , afin de vérifier que la commande a été bien exécutée : attrib c:\test\*.txt
La manipulation est similaire si, après avoir copié des fichiers d'un Cd-Rom dans notre répertoire Test
vous souhaitez désactivé l'attribut Lecture seule attaché à ces fichiers. Saisissez alors : attrib -r -h -s -a
c:\test\*.*
Information : Sous Windows XP l'attribut "Lecture seule" ou "Système" ne sont utilisés par l'
Explorateur que pour marquer que vous avez personnalisé ce dossier ou qu'il appartient à un dossier
système. Vous pouvez donc supprimer ce dossier sans que Windows ne bronche. Mais rappelons qu'à
partir de l'Explorateur et quelque soit les attributs que vous avez spécifiés en utilisant la commande
"Attrib", il vous sera tout à fait possible de, par exemple, le supprimer !

- Datation des fichiers sous Windows :


Dans un environnement 32 bits trois informations concernant l' historique des fichiers sont disponibles :
1) Avec le bouton droit de la souris cliquez sur un nom de fichier.
2) Dans le menu contextuel qui apparaît cliquez sur Propriétés.
3) Cliquez sur l'onglet Général.
* Créé le : correspond à la date et l' heure de création du fichier dans le répertoire auquel il appartient.
Si le fichier est copié dans un autre répertoire une nouvelle datation est assignée.
* Modifié le : correspond à la date de dernière modification. Si le fichier est déplacé cette même valeur
est conservée.
* Dernier accès le : c'est la date de dernier accès au fichier par le programme "qui en a eu la charge ".
Mais cette dernière notion peut prêter à confusion : si vous renommez un fichier, cette opération sera
répercutée sur la date de dernier accès mais non sur la date de modification.
En bref, si l'une des datations s'occupe du "contenant" l'autre n'est chargée que de surveiller les
modifications opérées sur le "contenu".

- Qu'est ce que la granularité des fichiers ?


Voici une notion très bizarre ! La granularité dans la datation d'un fichier est la durée nécessaire avant
que le système estime que le fichier a été modifiée et change donc sa date de dernière modification.
Voici un tableau récapitulatif :

Système de fichiers - Résolution du temps


FAT12 2 secondes
FAT 16 2 secondes
FAT 32 2 secondes
NTFS 100 nano secondes
Linux 1 seconde

Ces différences peuvent être importantes quand on effectue une sauvegarde d'un système de fichier à
l'autre. Les systèmes de datation ne correspondant pas la comparaison de versions différentes de fichiers
ne s'effectue pas correctement. N'importe quel programme de copie vous permet dans ce cas de simuler
une "granularité" différente afin d'éviter les programmes lors du processus de sauvegarde de données
importantes.

- Bref récapitulatif des unités de mesure en vigueur :


Il y a théoriquement deux types de notation :
Un Kilooctet (Ko ou KB) = 1000 octets.
Un Mégaoctet (Mo ou MB) = 1000 Ko.
Un Gigaoctet (Go ou GB) = 1000 Mo.
C'est la notation standardisée et, apparemment, pas vraiment appliquée par les fabricants de
composants ou de logiciels ... Et voici celle qui est la plus courante :
Un Kilooctet (Ko ou KB) = 1024 octets.
Un Mégaoctet (Mo ou MB) = 1024 Ko.
Un Gigaoctet (Go ou GB) = 1024 Mo.
Le B majuscule (comme dans "KB") est simplement là pour vous permettre de mieux différencier ces
deux termes : Byte et bit.
Rappelez-vous que le terme d'"Octet" est réservé pour un usage strictement "hexagonale". Si votre
interlocuteur est non francophone parlez en "Kilobyte".

- Où sont nichés les attributs de fichiers ?


Abréviation de "Binary Digit", un bit peut être soit un 1 ou un 0 et constitue l'unité permettant de coder
n'importe quelle information sur un ordinateur . C'est ce qui est appelé couramment une notation
binaire. Les humains raisonne quant à eux en utilisant une base hexadécimale (de 0 à 9 soit 10 chiffres).
Nous pouvons comparer un bit à un état permettant soit de laisser passer le courant soit de couper l'
interrupteur . En bref, soit la lumière est allumée soit elle est éteinte. Dans un monde purement binaire
la pénombre n'existe pas. Une autre comparaison consiste à dire qu'une condition est vraie quand elle
renvoie la valeur 1 et qu'elle est fausse quand elle renvoie le chiffre 0. Là aussi, il n'y pas la moindre
place pour la plus petite nuance...
Définition : Un octet (en anglais , byte) est une unité d'information composée de 8 bits. Une unité
d'information composée de 16 bits est appelée Mot. Une unité d'information composé de 23 bits est
appelé double-mot ou, en anglais, "DWORD".
Dans les systèmes récents, les informations de fichier sont stockés sur une longueur de 32 bits. Vous y
trouverez des informations concernant la taille , la datation et les attributs de fichier. Le tableau ci-
dessous récapitule l'affectation de chacun des premiers bits :

Position du bit - Attribut réservé


0 "Lecture seule"
1 "Fichier caché"
2 "Fichier système"
3 Nom de volume
4 Répertoire
5 "Archive"

Le bit n°4 permet donc de distinguer un fichier d'un répertoire. Seuls les bits n°0, 1, 2 et 5 sont
accessibles en utilisant la commande "Attrib".

- À quoi sert l'attribut "Archive" ?


Le propos de cet attribut est de déterminer rapidement si le fichier doit être archivé (et donc
sauvegarder) ou non. Il fonctionne donc comme une sorte de marqueur . Le principe est le suivant : une
fois le fichier copié, l' application chargée de la sauvegarde des fichiers enlève cet attribut. Au moment
de faire une nouvelle " passe ", l'application "saute" directement vers les fichiers encore indiqués comme
possédant l'attribut "Archive" sans vérifier les fichiers déjà archivés . C'est une manière de pouvoir
effectuer une sauvegarde sur plusieurs supports amovibles comme, par exemple, différentes disquettes.

- Forcer la suppression des attributs de fichiers :


Voici un remède de cheval à utiliser avec circonspection ! Imaginons un fichier nommé A.dat placé dans
C:\Test. En Invite de commandes ou en mode Ms-Dos saisissez :

debug
A 100
mov dx,116
mov ax,4300
int 21
and cx,fffd
mov dx,116
mov ax,4301
int 21
int 20
Appuyez sur la touche Entrée
E 116 'c:\test\a.dat' 0
G
Q

Le programme commence par lire l'interruption 21H afin d'obtenir l'attribut du fichier. Cette information
est inscrite dans le registre CX. Le programme appelle la même fonction afin d'écrire l'attribut de fichier
dans le registre CX. Quand vous saisissez la commande G, "Debug" exécute les fonctions qui ont été
placées en mémoire.

- Tout afficher :
La commande "Dir" permet d'afficher la liste des fichiers et des sous-répertoires à partir d'un
emplacement donné.
dir [lecteur:][chemin][Nom_Fichier] [...] [/p] [/q] [/w] [/d] [/a[[:]attributs]][/o[[:]Ordre_Tri]] [/s] [/b]
[/l] [/n] [/x] [/c] [/4]
Il n'est pas utile de préciser une nouvelle fois l'emplacement de votre recherche si celle-ci concerne
l'arborescence affichée par le prompt.
/p : affiche un écran de la liste à la fois.
/q : affiche les informations relatives aux propriétés du fichier.
/w : affiche la liste en largeur avec jusqu 'à cinq noms de fichier ou de répertoire sur chaque ligne.
/d : produit le même résultat que /w à la différence que les fichiers sont triés par colonne.
Par exemple, saisissez : dir c: /p /w
Appuyez à chaque fois sur n'importe quelle touche pour visualiser la page suivante...
/a [[:] attributs] : n'affiche que les noms des objets dotés des attributs spécifiés. Le tableau ci-dessous
en dresse un récapitulatif :

Commutateurs - Objets à inclure ou à exclure de la commande


h Fichiers cachés
s Fichiers système
d Répertoire
a Fichiers prêts pour l'archivage
r Fichiers en lecture seule
- Préfixe pour l'opération inverse

Si vous ne souhaitez afficher que les répertoires, saisissez : dir c: /a:d ou, à l'inverse : dir c: /a:-d
Il vous est possible de spécifier un ordre de tri :
Commutateurs - Ordre de tri
n Ordre alphabétique des noms
e Ordre alphabétique des extensions
d Ordre chronologique des dates et des heures, à commencer par la plus ancienne
s Ordre de taille, à commencer par la plus petite
g Répertoires groupés avant les fichiers
- Préfixe pour l'ordre inverse

Saisissez : dir /o:n ou dir /o:d ou dir /o:-d si vous effectuez un tri inverse.
Astuce : Notez que la commande dir /on marche aussi bien que dir /o:n.
Il vous est aussi possible de saisir > sortie.txt Dir à la place de Dir > sortie.txt
/s : affiche toutes les apparitions de l'objet spécifié dans le répertoire et tous ses sous-répertoires.
La commande dir doskey.exe /s permet de localiser l'emplacement du fichier Doskey.exe et ce même si
nous ne sommes pas dans C:\WINDOWS\system32 ou C:\WINDOWS\system32\dllcache.
/b : n'affiche pas les informations d'en-tête ou de résumé.
/l : affiche les noms de répertoire et de fichier en minuscules sans les trier.
/n : affiche le format de liste longue où les noms de fichier apparaissent à l'extrême droite de l'écran.
/x : affiche les formes courtes des noms générées pour les fichiers.
/c : affiche le séparateur des milliers pour les tailles de fichier.
/4 : affiche le format d'année à quatre chiffres.
Par ailleurs il est possible de spécifier des caractères génériques :
* Le point d'interrogation ne remplace qu'un caractère.
* L'astérisque remplace un ou plusieurs caractères.
Par exemple, imaginons que nous souhaitons rechercher tous les fichiers dont le nom commence par les
lettres D et P et dont l'extension soit .dll et ce sur l'ensemble de votre disque dur, saisissez cette
recherche :
dir dp*.dll /s
La commande dir dp?.* /s renverra l'erreur "Fichier introuvable" : il n'y aucun fichier dont le nom ne
comporte que trois lettres et commençant par les lettres D et P.
Nous rappelons que la commande "Dir" employée seule équivaut à saisir dir *.*
Afin d'afficher les fichiers ne possédant pas d'extension , saisissez : dir /s /p /a-d *.
Astuce : La commande dir, est un raccourci de celle-ci : dir /a.

- Mémoriser certains paramètres :


Si vous avez l'habitude d'afficher vos commandes d'une certaine façon, il peut être utile de les inscrire en
tant que variable d'environnement. Par exemple, saisissez :
set dircmd=/o:gn/p
Cette commande obligera "Dir" à toujours s'exécuter avec les commutateurs spécifiés : l'affichage des
arborescences se fera donc page par page. En Invite de commandes rien de plus simple que de rendre
cette variable permanente :
1) Avec le bouton droit de la souris cliquez sur l'icône Poste de travail puis la commande Propriétés.
2) Cliquez sur l'onglet Avancé puis le bouton Variables d'environnement.
3) Cliquez sur le bouton Nouveau.
4) Dans la zone de texte Nom de la variable saisissez : dircmd
5) dans la zone de texte Valeur de la, saisissez : /o:gn/p
Il est possible de définir la variable pour un seul utilisateur ou en tant que "variable système".

- Gestion des noms courts et des noms longs :


Il y a une curiosité à propos des noms longs et courts des fichiers. Dans un répertoire nommé Test, créez
un nouveau fichier .doc nommé LongNomFichier4.doc.
Saisissez ensuite ces commandes :
dir \test\*4.doc
dit \test\*1.doc
Dans les deux cas le fichier sera trouvé. La première commande retrouve le nom "normal" du fichier
tandis que la seconde "pointe" vers son nom court : "LongNo~1.doc".

- Gestion des caractères génériques :


Là aussi, les surprises peuvent être de taille. Dans un répertoire nommé Test créez un fichier nommé
abcdefgh.document. Saisissez cette commande :
dir ??????????.???
Bien qu'aucun nombre de caractères ne correspond le fichier est tout de même trouvé ! Sous Ms-Dos
cette commande fonctionnera : dir ab*xyz.???
Ce ne sera pas le cas en Invite de commandes.

- Trier les données :


En Invite de commandes la syntaxe de la commande "Sort" est la suivante :
Sort [/r] [/+n] [/m Kilo-Octets] [/l locale] [/rec caractères] [[Lecteur1:][Chemin1]NomFichier1] [/t
[Lecteur2:][Chemin2]] [/o [Lecteur3:][Chemin3]NomFichier3]
/r : inverse l'ordre de tri (les données seront triées de Z à A puis de 9 à 0).
/+n : indique le numéro de position du caractère n à partir duquel la commande Sort commencera
chaque comparaison. Par exemple, le commutateur /2 signifie que chaque comparaison commencera à
partir du second caractère de chaque ligne.
/m KiloOctets : indique le volume de mémoire principale à utiliser pour le tri, en kilo-octets (Ko).
/l locale : ignore l'ordre de tri des caractères défini par les paramètres régionaux par défaut du système.
/rec caractères : indique le nombre maximal de caractères dans un enregistrement ou une ligne du
fichier d'entrée (la valeur par défaut est 4 096 et la valeur maximale 65 535).
[Lecteur1:][Chemin1]NomFichier1 : désigne le fichier à trier.
/t [Lecteur2:][Chemin2] : indique le chemin du répertoire qui doit contenir le résultat de la commande.
Par défaut, c'est le répertoire temporaire du système qui est utilisé.
/o [Lecteur3:][Chemin3]NomFichier3 : indique le fichier devant contenir l'entrée triée. Si aucun fichier
n'est spécifié, les données sont écrites vers la sortie standard.
Soit un fichier nommé a.txt contenant l'ensemble des dépenses engagées au mois de juillet 2004, nous
pouvons saisir cette commande : sort /r a.txt
Nous pouvons aussi saisir : sort /r a.txt /o c:\test\Résultat.txt
Les données extraites seront inscrites dans un nouveau fichier nommé Résultat.txt.
Astuce : Saisissez ceci :
Sort
Ligne n°1
Ligne n°0
Ligne n°4
Ligne n°2
Appuyez simultanément sur les touches Ctrl + Z puis sur Entrée.
"Sort" affiche ce que vous avez saisi dans l'ordre !

- Gérer les répertoires :


La création d'un répertoire s'effectue par la commande "Mkdir" ou "Md". En Invite de commandes,
saisissez : md "c:\Documents and settings\archive"
Un répertoire nommé Archive sera créé dans C:\Documents and settings.
Afin de supprimer un répertoire, saisissez : rmdir ou rd "c:\documents and settings\archive".
Une remarque importante : puisque le répertoire Documents and settings comporte un espace vous
devez encadrer l'emplacement avec des guillemets.
Le commutateur /s permet de supprimer le répertoire spécifié, tous ses sous-répertoires ainsi que
l'ensemble des fichiers qui y figurent.
Le commutateur /q permet de supprimer un répertoire en mode silencieux et donc sans message de
confirmation.
Sous Ms-Dos, la syntaxe est identique sauf que les commutateurs /s et /q ne sont pas disponibles. Il
vous est possible de donner un nom long à votre répertoire. Par exemple, saisissez :
md ArchivesOfficielles
Si vous saisissez la commande "Dir" le répertoire apparaîtra sous cette forme : ARCHIV~1.
De plus, il n'est pas possible dans ce mode de supprimer un répertoire qui contient encore des fichiers.
Vous devez dans ce cas vous servir de la commande externe "Deltree".

- Visualiser l'arborescence d'un répertoire :


"Tree" n'est disponible qu'en Invite de commandes. La syntaxe est la suivante :
Tree [Lecteur:][Chemin] [/f] [/a]
/f : affiche les noms des fichiers présents dans chaque répertoire.
/a : les lignes de liaison sont représentées en mode texte et non en mode graphique.
Si nous souhaitons visualiser l'arborescence du dossier C:\Windows\System32\CatRoot nous saisirons :
tree c:\windows\system32\catroot
Ou, si je suis déjà sur le prompt C:\> : tree windows\system32\catroot /a
Astuce : Une manière d'afficher l'arborescence complète du répertoire parent est de saisir : tree .. |
more

- Manipuler les fichiers et les répertoires :


La commande "Ren" ou "Rename" est très simple d'utilisation. Imaginons que nous souhaitons changer
l'extension et le nom de l'ensemble des fichiers texte qui sont placés dans C:\Test nous saisirons à partir
de c:\> : ren *.txt *.doc
ou, par exemple : ren a.txt b.txt

- Supprimer un ou plusieurs fichiers :


En Invite de commandes la syntaxe de la commande "Del" (ou "Erase") est la suivante :
Del [Lecteur:][Chemin] NomFichier [ ...] [/p] [/f] [/s] [/q] [/a[:attributs]]
/p : invite à confirmer la suppression du fichier.
/f : force la suppression des fichiers dotés de l'attribut lecture seule.
/s : supprime les fichiers spécifiés du répertoire en cours et de tous ses sous-répertoires.
/q : la commande s'effectuera en mode silencieux.
/a : supprime les fichiers dotés des attributs spécifiés.

Commutateurs - Signification
r "Lecture seule"
a "Archive"
s "Système"
h "Caché"
- Permet d'effectuer l'opération inverse

En Invite de commandes, imaginons que nous ayons deux fichiers nommés A.txt et B.txt placés dans le
dossier Test. À partir de l'indicatif C:\Test> saisissez ces commandes :
attrib +r +a +s +h *.*
del /q *.*
dir
attrib
Cela ressemble à un bug mais sous Windows XP le fichier A.txt est absent quand je me servirai de la
commande "Dir" et bien là quand j'interroge les attributs de fichiers... En bref, la commande "Del"
n'affiche aucune information concernant le résultat d'une action. Ouvrez l'explorateur Windows et
supprimez ces fichiers une bonne fois pour toute ! Recréez maintenant les deux mêmes fichiers puis
saisissez :
attrib +r +a +s +h *.*
del *.* /a:r
Vous pourrez constater que les fichiers cette fois-ci ont été correctement effacés.
La commande Del. supprime après un message de confirmation tous les fichiers du répertoire par défaut
sauf ceux possédant les attributs lecture seule, caché ou système.
Vous pouvez également cette commande : echo y | del *.* > nul. "Echo" enverra un message de
confirmation ("Yes") à la commande Delete.

- Remplacer un fichier par une version différente :


En Invite de commandes, la syntaxe de la commande "Replace" est la suivante :
replace [lecteur1:][chemin1] NomFichier [lecteur2:][chemin2] [/a] [/p] [/r] [/w]
replace [lecteur1:][chemin1] NomFichier [lecteur2:][chemin2] [/p] [/r] [/s] [/w] [/u]
/a : ajoute de nouveaux fichiers au répertoire de destination. Il n'est pas possible d'utiliser cette option
de ligne de commandes avec les options /s ou /u.
/p : affiche une demande de confirmation avant de remplacer un fichier de destination.
/r : remplace aussi bien les fichiers en lecture seule que les fichiers non protégés. La commande ne peut
s'utiliser avec des fichiers cachés ou système.
/w : force la commande "Replace" à attendre que vous insériez une disquette avant de commencer à
chercher les fichiers sources.
/s : lance les recherches dans tous les sous-répertoires du répertoire de destination et remplace tous les
fichiers correspondant à la spécification. Ce commutateur ne peut être utilisé avec l'option /a.
/u : remplace uniquement les fichiers du répertoire de destination qui sont plus anciens que ceux du
répertoire source. Il n'est pas possible d'utiliser le commutateur /u avec l'option /a.
Cette commande est utile quand on souhaite mettre à jour deux répertoires dont l'un sert de
sauvegarde. Imaginons deux répertoires avec des versions de fichiers différents : des fichiers texte
placés dans C:\Test et des versions différentes de ces fichiers placées dans C:\Test\Sauvegarde. À partir
du prompt C:\Test> deux possibilités s'offrent à nous :
* Nous souhaitons écraser les versions précédentes des fichiers :
replace *.txt sauvegarde
* Nous ne souhaitons conserver que les versions les plus récentes des fichiers :
replace *.txt sauvegarde /u

- Visualiser les fichiers temporaires :


Sous Ms-Dos certains fichiers placés dans les répertoires temporaires et d'une taille de 0 Ko ne sont
visibles qu'en utilisant un des commandes de redirection suivantes : "Sort" ou "More".
Par exemple, saisissez : dir c:\windows\temp | more

- Éditer les fichiers :


Saisissez cette commande : copy con a.txt
Vous voilà dans une sorte de machine à écrire "sidérale". Tapez deux trois choses puis quittez l'Invite de
commandes. Un fichier nommé a.txt aura été créé avec les données que vous avez inscrites.
- Éditer un fichier texte :
La syntaxe de la commande "Edit" est la suivante :
Edit [[Lecteur:][Chemin] Nom_Fichier] [/b] [/g] [/h] [/nohi]
/b : affiche l'Éditeur Ms-Dos en noir et blanc.
/g : utilise la mise à jour de l'écran la plus rapide possible pour un moniteur CGA.
/h : affiche le nombre maximal de lignes possible pour le moniteur courant.
/nohi : permet d'utiliser des moniteurs à 8 couleurs avec l'Éditeur Ms-Dos.
/r : charge le fichier en mode Lecture seule.
/s : force l'utilisation de noms de fichier courts.
/<nnn> : charge un fichier binaire en retournant à la ligne pour <nnn> caractères.
Cette commande n'est utile que si vous avez besoin de modifier un fichier système en démarrant votre
ordinateur à partir d'une disquette système ou du Cd- Rom d'installation.

- Transférer des données vers le Presse-papier :


"Clip" est inclus dans le "Windows 2000 Resource Kit software tools" et dans Windows Server 2003. Il
vous est possible de vous servir de cette commande sous Windows XP. La syntaxe de la commande est
limpide :
À partir du répertoire dont vous souhaitez mémoriser l'arborescence, saisissez :
dir | clip
Ouvrez un nouveau document Bloc-notes puis cliquez sur Édition/Coller
Si vous souhaitez envoyer vers le presse-papier le contenu du fichier Boot.ini, saisissez :
clip < boot.ini
Afin de copier le contenu d'un fichier a.txt qui n'est pas placé dans le répertoire en cours, saisissez :
clip < "c:\test\a.txt"
Conserver dans le Presse-papier les variables d'environnement :
set | clip

- Afficher rapidement le contenu d'un fichier :


La commande "Type" fait très bien l'affaire.
Saisissez Type suivi de l'emplacement et du nom du fichier.
C'est tout !

- Effacer le contenu d'un fichier :


Une manière très simple consiste à saisir :
copy nul a.txt
"Nul" empêche toute sortie. Utilisé avec une commande cela revient à dire de copier 0 donnée dans le
fichier a.txt".

- Créer un fichier vide :


Voici une commande qui fonctionne :
type nul>"Fichier vide.txt"

- Copier des fichiers :


La syntaxe de la commande "Copy" est la suivante :
copy [/d] [/v] [/n] [{/y|/-y}] [/z] [{/a|/b}] Source [{/a|/b}] [+ Source [{/a|/b}] [+ ...]] [Destination
[{/a|/b}]]
/d : permet d'enregistrer sous une forme décryptée les fichiers cryptés.
/v : vérifie que les nouveaux fichiers sont correctement écrits.
/n : utilise un nom de fichier court.
/y : supprime la confirmation de remplacement d'un fichier de destination existant.
/-y : invite l'utilisateur à confirmer le remplacement d'un fichier de destination existant.
/z : copie des fichiers mis en réseau en mode redémarrage.
/a : désigne un fichier texte ASCII.
/b : désigne un fichier binaire. Une utilisation intéressante de ce commutateur est de permettre de
changer la date de dernier accès d'un fichier sans l'ouvrir. Imaginons que vous souhaitez modifier la date
d'accès d'un fichier nommé A.txt, saisissez alors : copy /b a.txt+,,
Il n'est pas utile de répéter le nom du fichier dans l'intitulé de destination : imaginons que nous
souhaitons copier le fichier A.txt de C:\Test vers C:\Test\Destination nous saisirons à partir de C:\> :
copy test\a.txt test\destination
Par ailleurs, il est possible de changer l'extension du fichier tout en gardant le même nom de cette
façon : copy test\a.txt test\destination\*.doc
Un fichier nommé A.doc sera créé dans C:\Test\Destination
Même type d'opération mais cette fois-ci en le renommant : copy test\a.txt test\destination\b.*
Un fichier nommé b.txt sera créé dans C:\Test\Destination
Il vous est possible de concaténer plusieurs fichiers en un seul : imaginons deux fichiers a.txt et b.txt
placés dans C:\Test. nous pouvons saisir : copy a.txt+b.txt c.* ou copy *.txt c.doc (dans ce cas il n'est
pas possible d'utiliser des caractères génériques dans le nom du fichier de destination).
Vous pouvez utiliser la variable d'environnement "Copycmd" pour automatiser un certain nombre de
commutateurs par défaut. Sous Windows XP voici la marche à suivre :
1) Avec le bouton droit de la souris cliquez sur l'icône Poste de travail puis sur la commande Propriétés.
2) Cliquez sur l'onglet Avancé puis le bouton Variables d'environnement.
3) Dans la rubrique Variables utilisateur cliquez sur le bouton Nouveau.
4) Dans la zone de texte Nom de la variable :, saisissez : Copycmd
5) Dans la zone de texte Valeur de la, saisissez votre variable.
Il est par exemple possible de saisir le commutateur /-Y.
De cette façon il vous sera afficher un message de confirmation avant toute opération de copie de
fichiers.
Cette variable affectera également les commandes "Move" et "Xcopy".

- Transférer un ou plusieurs fichiers :


À la différence de la commande "Copy" la commande "Move" vous permet de déplacer un fichier :
move test\*.txt destination
Le commutateur -y permet éventuellement de supprimer la confirmation de remplacement d'un fichier de
destination existant.
Information Un problème particulier est posé par la copie des fichiers cryptés d'une partition NTFS vers
une partition non NTFS. Si vous utilisez la commande "Move", un fichier crypté conservera son attribut. Il
ne vous sera donc pas possible de le déplacer vers une partition non NTFS. Dans ce cas il faudra vous
servir de la commande "Copy" et du commutateur /d.

- Copie avancée des fichiers et des répertoires :


En Invite des commandes la syntaxe de la commande "Xcopy" est la suivante :
xcopy Source [Destination] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d[:mm-jj-aaaa]] [/u] [/i] [/s [/e]] [/t]
[/k] [/r] [/h] [{/a|/m}] [/n] [/o] [/x] [/exclude:Fichier1[+[Fichier2]][+[Fichier3]] [{/y|/-y}] [/z]
/w : demande d'appuyer sur une touche avant la copie.
/p : demande à l'utilisateur de confirmer la création de chaque fichier de destination.
/c : ne tient pas compte des erreurs.
/v : vérifie chaque fichier au fur et à mesure de son écriture dans le fichier de destination afin de garantir
que les fichiers de destination sont identiques aux fichiers sources.
/q : effectue la commande en mode silencieux.
/f : affiche les noms des fichiers sources et de destination pendant la copie.
/l : affiche la liste des fichiers à copier.
/g : crée des fichiers de destination décryptés.
/d[:mm-jj-aaaa] : copie uniquement les fichiers sources qui ont été modifiés à la date précisée ou après
cette date.
/u : copie uniquement les fichiers sources qui existent dans la destination.
/i : si une destination n'existe pas, un répertoire sera créé.
/s : à moins qu'ils ne soient vides, copie les répertoires et les sous-répertoires.
/e : copie tous les sous-répertoires, même s'ils sont vides. /e s'utilise en combinaison avec les
commutateurs /s et /t.
/t : copie uniquement la structure (l'arborescence) du sous-répertoire et non les fichiers. Pour copier des
répertoires vides, vous devez inclure l'option de ligne de commandes /e.
/k : copie les fichiers et conserve l'attribut "Lecture seule" pour les fichiers de destination si les fichiers
sources possèdent cet attribut.
/r : copie les fichiers avec un attribut de "Lecture seule".
/h : copie les fichiers dotés des attributs "Fichier caché" et "Fichier système".
/a : copie uniquement les fichiers sources dotés de l'attribut "Archive".
/m : copie les fichiers sources dotés de l'attribut "Archive" et désactive l'attribut "Archive".
/n : crée des copies en utilisant les noms de fichier ou de répertoire abrégés NTFS.
/o : copie les informations relatives à l'appartenance des fichiers et à la liste de contrôle d'accès
discrétionnaire (DACL, "Discretionary Access Control List").
/x : copie les paramètres d'audit des fichiers et les informations relatives à la liste de contrôle d'accès du
système (SACL, "System Access Control List") (implique l'utilisation de l'option /o).
/exclude:NomFichier1[+[NomFichier2]][+[NomFichier3]] : spécifie la liste des fichiers contenant des
chaînes.
/y : supprime la demande de confirmation de remplacement d'un fichier de destination existant.
/-y : affiche la demande de confirmation de remplacement d'un fichier de destination existant.
/z : permet la copie sur un réseau en mode redémarrage.
Voici quelques exemples :
Pour remplacer les fichiers texte du répertoire Sauvegarde qui ont été modifiés à partir du 15 Mai 2004
et ce à partir du Répertoire Test saisissez :
xcopy test\*.txt test\sauvegarde /d:05-15-2004
La commande suivante copie l'ensemble du répertoire Windows vers un répertoire nommé Sauvegarde :
xcopy c:\windows d:\sauvegarde /c/e/h/k
Il est possible de conserver le masque des permissions NTFS quand vous copiez un fichier. Sous
Windows XP Édition Professionnelle, cet onglet est visible en suivant cette procédure :
1) Lancez l'explorateur Windows
2) Cliquez sur Outils/Options des dossiers.../Affichage
3) Dans la rubrique Paramètres avancés décochez la case Utiliser le partage de fichier simple
(recommandé)
4) Dans le répertoire Test créez un nouveau fichier nommé A.txt. Avec le bouton droit de la souris
cliquez sur le nom de fichier puis sur Propriétés et l'onglet Sécurité.
5) Cliquez sur le bouton Paramètres avancés puis décochez la case Hérite de l'objet parent les entrées
d'autorisation qui s'appliquent aux objets enfants. Cela inclut les objets dont les entrées sont
spécifiquement définies ici.
Nous avons désactivé l'héritage des permissions afin de pouvoir spécifier un jeu de permissions NTFS
différent.
6) Dans la boîte de dialogue Sécurité cliquez sur le bouton Copier.
7) Cliquez sur OK
8) Cliquez sur chacun des noms d'utilisateurs ou de groupe qui sont listés puis sur le bouton Supprimer.
Conservez simplement votre nom d'utilisateur.
En admettons que nous copions le fichier dans un répertoire appelé Sauvegarde et placé dans le
répertoire par défaut, faites ces deux essais de commandes :
xcopy a.txt sauvegarde
xcopy a.txt /o /x sauvegarde
Dans un premier cas, le jeu des permissions NTFS sera réinitialisé par celui qui s'applique au répertoire
"parent" (Sauvegarde) tandis que dans le second cas le masque sera conservé tel quel.
Cette option est utile si, par exemple, vous souhaitez conserver les mêmes permissions d'accès quand
vous déplacez un fichier d'un répertoire personnel à un répertoire partagé.
Astuce : Si vous copiez des fichiers dont le nom comporte des espaces vous devez utiliser les
guillemets : xcopy /d /e /c "C:\Documents and Settings\All Users\Documents\\" "D:\Sauvegarde\
Documents\".
L'utilisation du commutateur Exclude n'est pas tout simple.
Le drapeau \Sauvegarde\ exclura du processus de copie tous les fichiers appartenant au répertoire
Sauvegarde.
Le drapeau .txt exclura du processus de copie tous les fichiers portant l'extension .txt.
Si nous souhaitons exclure tous les fichiers Texte il suffit de marquer ce contenu dans un fichier texte
nommé, par exemple, exclude.txt :
.txt
Si nous souhaitons copier tous les fichiers du répertoire courant vers le répertoire Temp, la commande à
saisir sera alors :
xcopy *.* /exclude:exclude.txt c:\temp
Information : La commande "Xcopy32" est un épigone de "Xcopy". la première vous permettra de gérer
les longs noms de fichiers alors que la seconde ne peut être utilisée dans ce cas. Si, par exemple, vous
souhaitez effectuer une copie de l'ensemble de vos données d'un disque dur vers l'autre saisissez :
xcopy32 C: \ . D:\ /e/c/h/r/k. Attention, il n'y a aucune garantie de résultat !

- Copie industrielle des données :


La dernière version de "RoboCopy" est compatible avec toutes les versions de Windows XP et ultérieure.
Cet utilitaire est inclus dans les kits de ressources et dans Windows Server 2003. Ce n'est déjà plus une
commande, ni même un programme mais une sorte d'usine à copier des fichiers. Jugez-en plutôt par la
syntaxe :
Robocopy Source Destination [Fichier [Fichier]..] [/S | /E] [/LEV:n] [/Z] [/B] [/ZB]
[/COPY:Copy_Drapeau] [/SEC] [/COPYALL] [/NOCOPY] [/PURGE] [/MIR] [/MOV] [/MOVE] [/CREATE]
[/FAT] [/FFT] [/256] [/MON:n] [/MOT:m] [/A+:{R | A | S | H | N}] [/A-:{R | A | S | H | N}]
[/RH:hhmm-hhmm] [/PF] [/IPG:ms] [/A] [/M] [/IA:{R | A | S | H | N | C | E}] [/XA:{R | A | S | H | N |
C | E}] [/XF ExFile [ExFile]..] [/XD Répertoire [Répertoire]..] [{/XC|/XN|/XO}] [{/XX|/XL}] [/IS] [/IT]
[/MAX:bytes] [/MIN:bytes] [/MAXAGE:{jours | YYYYMMDD}] [/MINAGE:{jours | YYYYMMDD}]
[/MAXLAD:{jours | YYYYMMDD}] [/MINLAD:{jours | YYYYMMDD}] [/ITEM] [/IOFF] [/XJ]
[/R:Nombre_Tentative] [/W:Temps_D'attente] [/REG] [/TBD] [/L] [/X] [/V] [/TS] [/FP] [/NS] [/NC]
[/NFL] [/NDL] [/NP] [/ETA] [/LOG:Nom_Fichier] [/LOG+:Nom_Fichier] [/TEE] [/JOB:Nom_Fichier]
[/SAVE:Nom_Fichier] [/QUIT] [/NOSD] [/NODD] [/IF] [/SD:emplacement] [/SD:emplacement]
RoboCopy est capable sans broncher de copier des chemins de plus de 255 caractères (la limite
théorique est de 32000 caractères) ainsi que de très larges volumes de données.
Un fichier "supplémentaire" est un fichier ou un répertoire qui existe dans la destination mais pas dans la
source ("EXTRA File").
Un fichier "orphelin" est un fichier qui existe dans la source mais pas la destination ("Lonely File").
/S : copie tous les sous-répertoires à l'exception de ceux qui sont vides.
/E : copie tous les sous-répertoires y compris ceux qui sont vides.
/LEV:n : copie seulement le niveau d'arborescence spécifié par n. Par exemple, si vous voulez copier
seulement les deux premiers niveaux d'une arborescence employez ce commutateur /lev:2
/Z : copie les fichiers en mode de redémarrage.
/B : copie les fichiers en mode sauvegarde.
/ZB : mélange les deux méthodes.
/COPY:Drapeau : permet de spécifier les propriétés des fichiers à copier.
D : données des fichiers.
A : attribut des fichiers.
T : date de datation des fichiers.
S : descripteur de sécurité (ACL).
O : propriétaire de l'objet.
U : audit de l'objet.
/SEC : copie les fichiers avec leur descripteur de sécurité. C'est l'équivalent de /COPY:DATS.
/COPYALL : copie l'ensemble des attributs des fichiers. C'est l'équivalent de /COPY:DATSOU.
/NOCOPY : copie aucun des attributs de fichiers.
/PURGE : supprime les fichiers et les répertoires de destination qui n'existent plus dans l'arborescence
"source".
/MIR : crée une arborescence miroir. C'est l'équivalent de /E /PURGE.
/MOV : déplace les fichiers.
/MOVE : déplace les fichiers et les répertoires.
/A+:{R | A | S | H | N | T}
Ajoute ces attributs aux fichiers copiés :
R : Lecture seule.
S : Système.
A : Archive.
H : Caché.
N : fichier non indexé.
T : fichier temporaire.
/A-:{R | A | S | H | N | T} : supprime les attributs aux fichiers qui seront copiés.
/CREATE : crée l'arborescence avec des fichiers vides seulement de façon à diminuer la fragmentation
des fichiers de destination. L'arborescence complète est donc créer dans un premier temps puis la
commande exécutée de nouveau sans le commutateur /create. C'est utile si vous copiez de larges
volumes de données. N'utilisez pas cette commande avec le commutateur /xo.
/FAT : crée les fichiers de destination en utilisant des noms de fichiers courts.
/FFT : permet une "granularité" de la datation des fichiers compatible avec le système FAT (2 secondes
au lieu de 100 nanosecondes).
/256 : désactive le support des très longs noms de fichiers (plus de 255 caractères).
/MON:n : surveille les changements apportés à la source. Le drapeau n précise le nombre de
changements possibles apportés à la source. En cas de dépassement du paramètre le processus
redémarre dans une boucle.
/MOT:m : surveille les changements apportés à la source. Le drapeau m précise le nombre de minute
avant qu'une nouvelle vérification soit effectuée. À chaque expiration du délai le processus redémarre
dans une boucle.
/RH:hhmm-hhmm : définit le délai minimum avant qu'une nouvelle copie ne soit permise. Le délai
maximum peut être de 24 heures dans une plage de 0000 à 2359.
/PF : effectue des contrôles plus fréquemment afin de vérifier si une nouvelle copie de fichiers est
autorisée.
/IPG:ms : durée de l'Inter-Packet Gap en millisecondes. Ce paramètre est utilisée pour libérer de la
bande passante sur un lien réseau lent.
Temps IGP ou Inter-Packet Gap : définit une période de silence entre deux paquets dans la norme IEEE
802.
/A : copie seulement les fichiers possédant l'attribut "Archive".
/M : copie seulement les fichiers possédant l'attribut "Archive" et désactive cet attribut des fichiers
sources.
/IA:{R | A | S | H | N | C | E | T | O} : inclue les fichiers comportant un de ces attributs.
E : fichier crypté.
T : fichier temporaire.
O : fichier hors connexion.
/XA:{R | A | S | H | N | C | E | T | O} : exclue les fichiers comportant un des ces attributs.
/XF ExFile : exclue les fichiers correspondant à un nom, un emplacement ou un caractère générique.
/XD Répertoire : exclue les répertoires indiqués.
/XC : exclue les fichiers changés.
/XN : exclue les nouveaux fichiers.
/XO : exclue les fichiers les plus anciens.
/XX : exclue les fichiers supplémentaires et les répertoires.
/XL : exclue les fichiers "orphelins" et les répertoires.
/IS : inclue les fichiers semblables.
/IT : inclue les fichiers marqués comme personnalisés. Plus précisément, un fichier personnalisé existe à
la fois dans le source et dans la destination, possède la même taille et date d'accès mais a des attributs
de fichiers différents.
/MAX:bytes : exclue les fichiers supérieurs à la taille spécifiée.
/MIN:bytes : exclue les fichiers inférieurs à la taille spécifiée.
/MAXAGE:{jours | YYYYMMDD} : exclue les fichiers dont la date de dernière modification est plus
ancienne que celle spécifiée.
/MINAGE:{jours | YYYYMMDD} : exclue les fichiers dont la date de dernière modification est plus récente
que celle spécifiée.
/MAXLAD:{jours | YYYYMMDD} : exclue les fichiers dont la date de dernière modification est plus
ancienne que celle spécifiée.
/MINLAD:{jours | YYYYMMDD} : exclue les fichiers dont la date de dernière modification est plus récente
que celle spécifiée.
/IOFF : inclue les fichiers hors connexion.
/ITEM : inclue les fichiers temporaires.
/XJ : exclue les points de montage de volumes.
/R:Nombre_Tentative : spécifie le nombre de tentative en cas de copie défectueuse. La valeur par défaut
est de 1 million.
/W:Temps_Attente : spécifie le temps d'attente entre deux tentatives de copie (par défaut elle est de 30
secondes).
/REG : sauvegarde les deux paramètres précédents dans le Registre.
/TBD : attend que les noms de partage soient définis.
/L : liste les fichiers sans les copier.
/X : affiche l'ensemble des fichiers supplémentaires et pas seulement ceux qui ont été sélectionnés.
/V : affiche la sortie de la commande en mode "bavard" spécifiant par là-même les fichiers non copiés.
/TS : affiche la sortie de la commande en incluant les informations de datation.
/FP : affiche le chemin d'accès complet dans la sortie de la commande.
/NS : exclue les indications de taille du fichier dans les informations contenues dans le fichier journal.
/NC : exclue les indications des classes de fichier dans les informations contenues dans le fichier journal.
/NFL : exclue les indications des noms de fichier dans les informations contenues dans le fichier journal.
/NDL : exclue les indication de répertoire dans les informations contenues dans le fichier journal.
/NP : supprime l'affichage de la barre de progression.
/ETA : affiche le temps estimé nécessaire à la copie des fichiers.
/LOG:Nom_Fichier : écrit les informations de configuration dans un fichier journal. Si le fichier existe déjà
il sera remplacé.
/LOG+:Nom_Fichier : écrit les informations de configuration dans un fichier journal. Si le fichier existe
déjà les informations seront ajoutées.
/TEE : affiche les informations de sortie dans le Console en plus de les rediriger dans un fichier journal
précisé par l'emploi des commutateurs /LOG ou /LOG+.
/JOB:Nom_Fichier : se sert des paramètres spécifiés dans un fichier .rcj. Ces fichiers sont appelés des
fichier "Job"...
/SAVE:Nom_Fichier : sauvegarde les paramètres dans un fichier .rcj.
/QUIT : quitte le processus de commande sans qu'aucun fichier ne soit copié. Utilisez /QUIT avec
/JOB:Nom_Fichier afin de visualiser le contenu d'un fichier JOB.
/NOSD : indique qu'aucune source n'est spécifiée. On se sert de ce commutateur dans les fichiers JOB
dans lesquels les informations sur la source sont inclus dans une routine.
/NODD : indique qu'aucune destination n'est spécifiée. On se sert de ce commutateur dans les fichiers
JOB dans lesquels les information sur la source sont inclus dans une routine.
/IF : inclue les fichiers, les chemins ou caractères génériques spécifiés. Ce commutateur ne peut être
utilisé que dans les fichiers JOB.
/SD:chemin : spécifie le répertoire "source". Cela ne peut être utilisé que dans les fichiers JOB.
Prenons un exemple : nous souhaitons copier l'arborescence dont la racine est C:\Sauvegarde à
l'exception des répertoires Test et AExclure. De plus, nous ne copierons que les fichiers dont l'extension
commence par la lettre D à l'exception des fichiers .doc.
Nous saisirons donc : robocopy c:\ancien F:\ *.d* /XF *.doc /S /XD test c:\ancien\aexclure
La première partie de la fenêtre récapitulera les options de la commande saisie.
Nous souhaitons lister les fichiers de plus de 32 Mb présent sur C:\ mais sans démarrer l'opération de
copie, nous saisirons : robocopy c:\ c:\test /max:33554432 /l
Nous souhaitons déplacer tous les fichiers vieux de plus de 14 jours du répertoire Test vers le répertoire
Temp. Nous saisirons : robocopy c:\test %temp% /move /minage:14
Nous souhaitons exclure de la copie une liste importante de fichiers Texte. Dans notre exemple : a, b et
c:
Dans un nouveau document Bloc-notes copiez le texte suivant :
/xf
a.txt
b.txt
c.txt
Enregistrez à la racine de votre lecteur le fichier sous, par exemple, ce nom : EXCLURE.RCJ
L'extension .txt qui s'inscrit par défaut doit donc être remplacée.
En Invite de commandes, saisissez cette commande : robocopy c:\test c:\ /JOB:c:\EXCLURE
Les fichiers seront tous copiés du répertoire Test vers la racine du lecteur à l'exclusion des trois fichiers
spécifiés.
Il est aussi possible d'employer des caractères génériques en saisissant simplement ceci :
/xf
*.txt
Dans ce dernier cas tous les fichiers .txt seront exclus du processus de copie.
Vous pouvez également spécifier différentes arborescences de cette façon :
/xf
c:\test\sauvegarde

- Analyser des fichiers :


En mode Ms-Dos ou en Invite de commandes la syntaxe de la commande "Fc" est la suivante :
Fc [/a] [/b] [/c] [/l] [/lbn] [/n] [/t] [/u] [/w] [/nnnn] [lecteur1:][chemin1]nom_fichier1 [lecteur2:]
[chemin2]nom_fichier2
/a : au lieu d'afficher toutes les lignes différentes, Fc n'affichera que la première et la dernière ligne de
chaque bloc de différences.
/b : Fc compare les deux fichiers octet par octet et ne tente pas de synchroniser à nouveau le fichier
après la découverte d'une discordance.
/c : ignore la casse des lettres.
/l : compare les fichiers en mode ASCII. "Fc" compare les deux fichiers ligne par ligne et tente de
synchroniser à nouveau les fichiers après la découverte d'une discordance.
/lbn : définit le nombre n de lignes de la zone tampon de lignes interne. Le nombre de lignes par défaut
de cette zone s'élève à 100. Si le nombre de lignes consécutives différentes des fichiers que vous
comparez est supérieur à ce nombre, "Fc" annule la comparaison.
/n : affiche les numéros des lignes au cours d'une comparaison ASCII.
/t : empêche "Fc" de convertir les tabulations en espaces.
/u : compare les fichiers comme s'il s'agissait de fichiers texte Unicode (n'existe pas sous Ms-Dos).
/w : compresse les tabulations et les espaces au cours de la comparaison.
/nnnn : indique le nombre de lignes consécutives qui doivent correspondre après une différence. La
valeur par défaut est 2.
Imaginons deux fichiers texte comportant respectivement ces quatre lignes :

Contenu du premier fichier - Contenu du second fichier


Linux - Mac
Windows - Windows
Ms-Dos - Ms-Dos
Be-os - Invite de commandes

Une comparaison rapide s'effectue donc en saisissant : fc a.txt b.txt > résultat.txt
La commande fc /3 a.txt b.txt > résultat1.txt affichera un résultat présenté différemment.
En Invite de commandes il vous est possible d'utiiser "Comp". La syntaxe est la suivante :
Comp [données1] [données2] [/d] [/a] [/l] [/n=nombre] [/c]
/d : affiche les différences au format décimal (Le format par défaut est le format hexadécimal.)
/a : affiche les différences sous forme de caractères.
/l : affiche le numéro de la ligne où se présente une différence au lieu d'afficher le décalage en octets.
/n=nombre : compare les premières lignes des deux fichiers jusqu'à concurrence du nombre, même si
les fichiers sont de tailles différentes.
/c : ne distingue pas les majuscules des minuscules lors de la comparaison.
Son utilité consiste principalement à déceler une différence de taille entre deux fichiers. Par contre, si les
fichiers font la même taille, elle affichera les différences entre les deux fichiers. Par exemple, admettons
que nous souhaitons comparer deux fichiers nommés a.txt et b.txt, nous saisirons : comp a.txt b.txt /a /l
La comparaison s'arrête de toute façon une fois dix différences trouvées ou dix lignes explorées. Si vous
souhaitez comparer des fichiers volumineux, spécifiez le nombre de lignes à explorer de cette façon :
comp a.txt b.txt /a /l /n=195 (les fichiers à comparer font dans ce cas 195 lignes).

- Chercher une chaîne de caractères :


Sous Ms-Dos ou en Invite de commandes la syntaxe de la commande "Find" est la suivante :
Find [/v] [/c] [/n] [/i] "chaîne" [[Lecteur:][Chemin]NomFichier[...]]
/v : affiche toutes les lignes qui ne contiennent pas la chaîne spécifiée.
/c : compte les lignes qui contiennent la chaîne spécifiée et affiche le total.
/n : fait précéder chaque ligne du fichier par son numéro.
/i : la différence entre les majuscules et les minuscules sera ignorée.
L'utilisation de cette commande est plutôt efficace quand il s'agit de rechercher plusieurs fichiers en
fonction de leur nom. Par exemple, si nous souhaitons trouver tous les fichiers système dont le nom
contient cette occurrence "VIA" et le rediriger vers un fichier nommé résultat.txt; nous saisirons :
dir c:\ /s /b | find "VIA" > résultat.txt
Information : Cette commande ne permet pas d'analyser les chaînes de caractères séparées par un
retour chariot.

- Effectuer une recherche à l'intérieur d'un fichier :


En Invite de commandes, la syntaxe de la commande "Findstr" est la suivante :
Findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:fichier] [/f:fichier] [/c:chaîne]
[/d:dirlist] [/a:Attribut_Couleur] [chaînes] [[Lecteur:][Chemin] Nom_Fichier [...]]
/b : ne reconnaît un modèle qu'au début d'une ligne.
/e : ne reconnaît un modèle qu'à la fin d'une ligne.
/l : utilise les chaînes de recherche littéralement.
/r : utilise les chaînes de recherche comme expressions régulières. Findstr interprète tous les méta
caractères comme des expressions régulières sauf si vous utilisez /l.
/s : recherche les fichiers concordants dans le répertoire en cours ainsi que dans tous ses sous-
répertoires.
/i : ne tient pas compte de la casse.
/x : imprime les lignes qui correspondent exactement.
/v : imprime uniquement les lignes qui ne contiennent pas de correspondance.
/n : imprime le numéro de ligne devant chaque ligne qui correspond.
/m : imprime uniquement le nom de fichier si un fichier contient une correspondance.
/o : imprime le décalage devant chaque ligne correspondante.
/p : omet les fichiers contenant des caractères non imprimables.
/offline : traite les fichiers avec l'attribut hors connexion défini.
/f:fichier : lit la liste des fichiers à partir du fichier spécifié.
/c:chaîne : utilise le texte spécifié comme chaîne de recherche littérale.
/g:fichier : obtient les chaînes de recherche à partir du fichier spécifié.
/d:Liste_Répertoire : effectue la recherche dans une liste de répertoires séparés par des virgules.
/a:Attribut_Couleur : spécifie des attributs de couleur avec deux chiffres hexadécimaux.
Cerise sur le gâteau il vous est possible d'utiliser un jeu de méta-caractères et de caractères littéraux. En
voici la liste :
. : n'importe quel caractère.
* : zéro occurrence ou plus du caractère précédent ou de la classe.
^ : début de la ligne.
$ : fin de la ligne.
[classe] : n'importe quel caractère du jeu.
[^classe] : n'importe quel caractère ne figurant pas dans le jeu.
[x-y] : n'importe quels caractères de la plage spécifiée.
\x : utilisation littérale du méta caractère x.
\<xyz : début du mot.
xyz\> : fin du mot .
Pour trouver toutes les occurrences du mot "Windows" dans tous les fichiers de l'arborescence C:\
Windows puis renvoyer le résultat de la commande dans un fichier nommé résultat.txt, nous saisirons :
findstr /s /m "\<Windows\>" c:\windows\*.* > résultat.txt
Pour trouver tous les fichiers contenant un mot finissant par "XP" et ce dans tous les fichiers .doc du
répertoire courant, nous saisirons : findstr /m "\<XP" *.doc
Nous nous servirons souvent de cette commande dans l'élaboration des fichiers Batch.

- Effectuer des recherches avancées sur les fichiers :


"Forfiles" est inclus dans le "Windows 2000 Resource Kit software tools" et dans Windows Server 2003. Il
vous est possible de vous servir de cette commande sous Windows XP. La syntaxe de la commande est
celle-ci :
Forfiles [/p Chemin] [/m Masque_Recherche] [/s] [/c Commande] [/d[{+ | -}] [{MM/DD/YYYY | DD}]]
/p : suivit du chemin d'accès.
/m : masque de recherche. Par défaut c'est ce masque qui est appliqué : *.* (c'est à dire tous les
fichiers).
/s : effectue une recherche dans l'ensemble des sous-répertoires.
/c : exécute la commande spécifiée qui doit être mise entre guillemets. Par défaut la commande est
"cmd /c echo @file".
/d : sélectionne les fichier en fonction de leur date.
Les variables possibles sont les suivantes :
@file : nom de fichier.
@fname : nom de fichier sans extension.
@ext : extension de fichier.
@path : chemin complet du fichier.
@relpath : chemin relatif du fichier.
@isdir : renvoie la valeur TRUE si le type de fichier est un répertoire, FALSE dans le cas contraire.
@fsize : taille du fichier en octets.
@fdate : cachet de date modifié en dernier sur le fichier.
@ftime : horodateur modifié en dernier sur le fichier.
Pour trouver des fichiers .doc créés après le 01/07/2004 dans un répertoire nommé Sauvegarde ainsi
que de l'ensemble de ses sous-répertoires et que s'affiche le message "le fichier X a été créé après le
01/07/2004" :
forfiles /p c:\sauvegarde /s /m *.doc /d +01/07/2004 /c "cmd /c echo @file a été créé à partir du
01/07/2004"
Pour trouver des fichiers texte créés il y a moins de 10 jours sur le disque D: ainsi que de l'ensemble de
ses sous-répertoires et que s'affiche le texte suivant: "l'emplacement du fichier X est ..." :
forfiles /p d:\ /s /m *.txt /d -10 /c "cmd /c echo l'emplacement du fichier @file est @path"
Pour trouver l'ensemble des fichier .doc modifiés il y a moins de vingt jours :
forfiles /d 06/06/2004 /M *.txt /C "cmd /c echo @path 0x09 a été modifié il y a maintenant 20 jours"
Pour ouvrir dans le Bloc-notes tous les fichiers .txt trouvés dans le répertoire courant :
forfiles /m *.txt /c "cmd /c if @isdir==FALSE notepad.exe @file"
Information : Le drapeau FALSE doit être en majuscules !

- Afficher les dernières lignes d'un document :


"Tail" est un outil est inclue dans le "Windows 2003 Resource Kit". En admettant que vous souhaitez
afficher les dix dernières lignes d'un fichier nommé Test.txt, la commande est désarmante de simplicité :
tail test.txt
Si vous souhaitez changer le nombre de lignes par défaut, saisissez :
tail -2 test.txt
Il est possible de spécifier différents fichiers.
Le commutateur -f vous permet de suivre en temps réel les modifications apportées au fichier !

- Compresser et décompresser des fichiers :


Si votre disque dur est en NTFS il vous est possible d'utiliser la commande "Compact" afin de compresser
des fichiers ou des répertoires. La méthode de compression utilisée est appelée "Compression NTFS". Elle
est différente de celle utilisée quand, par exemple, vous travaillez sur des fichiers .zip. La syntaxe est la
suivante :
Compact [{/c|/u}] [/s[:Répertoire]] [/a] [/i] [/f] [/q] [Nom_Fichier[...]]
/c : compresse le répertoire ou le fichier spécifié.
/u : décompresse le répertoire ou le fichier spécifié.
/s:rép : indique que l'action demandée doit s'appliquer à tous les sous-répertoires du répertoire spécifié.
/a affiche les fichiers cachés ou les fichiers système.
/i : ne tient pas compte des erreurs.
/f : force la compression ou la décompression du répertoire ou du fichier indiqué.
/q : affiche les informations les plus importantes.
Imaginons que dans un dossier Test, sont placés deux fichiers nommés a.txt et b.txt, nous saisirons :
compact /c /a /i /f /q *.txt
Il vous est aussi possible de décompresser les fichiers en saisissant : compact /u *.txt.

- Décompresser un fichier en Invite de commandes :


La syntaxe de la commande "Expand" est la suivante :
Expand [-r] Source [Destination]
Expand -d source.cab [-f:fichiers]
Expand source.cab -f:fichiers Destination
-r : renomme les fichiers décompressés.
-d : affiche la liste des fichiers à l'emplacement source.
-f:fichiers : spécifie les fichiers d'un fichier CAB à décompresser.
Les fichiers présents dans le répertoire i386 ont tout une extension tronquée : dx8vb.dl_ pour dx8vb.dll
En supposant la lettre du lecteur dans lequel a été inséré le Cd-Rom d'installation de Windows XP est D:,
la commande permettant d'extraire ce fichier dans les répertoires d'installation du lecteur F: est la
suivante :
expand -r d:\i386\dx8vb.dl_ f:\windows\system32
Le fichier sera décompressé puis son extension correctement renommée.

- Gérer les fichiers Cab :


"Cabarc" peut être installé à partir du Cd-Rom Windows XP. La syntaxe est la suivante :
Cabarc [options] commande Fichier_Cab [@file] [Fichiers] [Répertoire]
Trois commandes sont disponibles :
n : créé un fichier .cab.
l : liste le contenu d'un fichier .cab.
x : extrait le contenu d'un fichier .cab.
Les options possibles sont :
-c : demande la confirmation des fichiers sur lesquels va s'exécuter la commande.
-o : écrase automatiquement les versions précédentes des fichiers.
-m : définit le type de compression.
-p : enregistre les emplacements des fichiers (les chemins absolus ne sont pas autorisés).
-P : exclue le préfixe spécifié des informations qui seront enregistrées.
-r : effectue la commande de manière récursive.
-s : réserve un espace dans le fichier .cab afin d'insérer une signature.
-i : définit l'ID du fichier .cab.
-d : définit la taille d'une disquette.
Imaginons que nous désirions travailler sur le fichier Branding.cab.
Nous pouvons extraire les fichiers dans le répertoire Test en saisissant :
cabarc x branding.cab c:\test\
L'antislash à la fin de l'emplacement est obligatoire.
Puis créer un nouveau fichier .cab n'incluant que les fichiers .inf :
cabarc n Test.cab *.inf
Il vous est possible de sauvegarder les emplacements des fichiers en utilisant le commutateur -p :
cabarc -p n Test.cab *.inf
Une recherche dans l'ensemble d'une arborescence peut être lancée :
cabarc -r -p n Test.cab *.inf c:\test\
Il vous est possible de spécifier un fichier texte (dans cet exemple : Fichier.txt) qui contiendra la liste des
fichiers à ajouter à votre archive .cab :
cabarc n branding.cab @Fichier.txt

Vous aimerez peut-être aussi