Dernière mise
à jour : 07/04/2005
- 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
|
|