DOS/Version imprimable

Un livre de Wikilivres.
< DOS
Sauter à la navigation Sauter à la recherche
Nuvola-inspired File Icons for MediaWiki-fileicon-ps.png

Ceci est la version imprimable de DOS.

  • Si vous imprimez cette page, choisissez « Aperçu avant impression » dans votre navigateur, ou cliquez sur le lien Version imprimable dans la boîte à outils, vous verrez cette page sans ce message, ni éléments de navigation sur la gauche ou en haut.
  • Cliquez sur Rafraîchir cette page pour obtenir la dernière version du wikilivre.
  • Pour plus d'informations sur les version imprimables, y compris la manière d'obtenir une version PDF, vous pouvez lire l'article Versions imprimables.


DOS

Une version à jour et éditable de ce livre est disponible sur Wikilivres,
une bibliothèque de livres pédagogiques, à l'URL :
https://fr.wikibooks.org/wiki/DOS

Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la Licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans Texte de dernière page de couverture. Une copie de cette licence est incluse dans l'annexe nommée « Licence de documentation libre GNU ».

Sections

At

Commande qui sert à faire des tâches planifiées sous Windows en ligne de commande.


Attrib

Description[modifier | modifier le wikicode]

Affiche ou change les attributs de fichiers ou dossiers.


Syntaxe[modifier | modifier le wikicode]

ATTRIB attributs ajoutés/retirés lecteur:\chemin\nom_de_fichier.extension options
ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [+I|-I] [lecteur:][chemin][nom_de_fichier] [/S] [/D] [/L]


Attributs[modifier | modifier le wikicode]

+
Ajoute un attribut (ex.: +H).
-
Retire un attribut (ex.: -H).
R
Fichiers en lecture seule.
A
Fichiers archives.
S
Fichiers système.
H
Fichiers cachés.
I
Fichiers indexés sans contenu.


Chemin[modifier | modifier le wikicode]

[lecteur:][chemin][nom_de_fichier]
Spécifie un ou plusieurs fichiers à traiter par ATTRIB.


Options[modifier | modifier le wikicode]

/S
Traite les fichiers correspondants dans le dossier actif et tous ses sous-dossiers.
/D
Traite également les dossiers.
/L
Effectue l'opération sur les attributs du lien symbolique plutôt que sa cible.


Exemple[modifier | modifier le wikicode]

Pour masquer un fichier :

ATTRIB +H C:\Docs\fichier.txt /D


Break

Interromp l'execution d'un batch.


Call

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle est utilisée dans un batch pour appeler un autre fichier batch, ou une sous-routine située à un label particulier du fichier. Après la commande, l'exécution se poursuit à l'instruction suivante.

Utilisation[modifier | modifier le wikicode]

Pour appeler un autre fichier batch :

CALL chemin arguments

Pour appeler une sous-routine située à un label particulier du fichier batch :

CALL :label arguments

Exemple 1 : appeler un autre fichier batch[modifier | modifier le wikicode]

@ECHO OFF
CALL config.bat
ECHO Retour au batch principal

Exemple 2 : appeler une sous-routine du fichier batch[modifier | modifier le wikicode]

@ECHO OFF
CALL :affiche C:\Windows
CALL :affiche C:\Temp
GOTO :eof

:affiche
ECHO Le contenu du répertoire %1 est :
DIR %1
GOTO :eof

Pour sortir du batch ou terminer la sous-routine, le label spécial :eof est utilisé.


Cd

Introduction[modifier | modifier le wikicode]

Change Directory

Cette commande permet de changer de répertoire. C'est en fait un raccourci pour Chdir.

Utilisation[modifier | modifier le wikicode]

cd

Affiche simplement le répertoire courant

cd c:\repertoire

Va dans le repertoire indiqué

cd ..

Remonte dans le répertoire parent

cd .

Ne fait rien, en effet . représente le répertoire courant.

cd \

Remonte à la racine lecteur du répertoire


Si le répertoire courant est C:\WinNT

cd E:\temp

Le répertoire courant affiché est toujours C:\WinNT, mais en changeant le lecteur :

E:

Le répertoire courant affiché est bien E:\temp. En fait le système mémorise le répertoire courant pour chaque lecteur.

Il existe une option pour effectuer les deux commandes en une seule :

cd /D E:\temp


Cd

Introduction[modifier | modifier le wikicode]

Change Directory

Cette commande permet de changer de répertoire. C'est en fait un raccourci pour Chdir.

Utilisation[modifier | modifier le wikicode]

cd

Affiche simplement le répertoire courant

cd c:\repertoire

Va dans le repertoire indiqué

cd ..

Remonte dans le répertoire parent

cd .

Ne fait rien, en effet . représente le répertoire courant.

cd \

Remonte à la racine lecteur du répertoire


Si le répertoire courant est C:\WinNT

cd E:\temp

Le répertoire courant affiché est toujours C:\WinNT, mais en changeant le lecteur :

E:

Le répertoire courant affiché est bien E:\temp. En fait le système mémorise le répertoire courant pour chaque lecteur.

Il existe une option pour effectuer les deux commandes en une seule :

cd /D E:\temp


Cls

Introduction[modifier | modifier le wikicode]

Clear Screen

Cette commande interne du DOS permet d'effacer l'écran (ou la fenêtre) de l'interpreteur de commande.

Utilisation[modifier | modifier le wikicode]

Cls

Exemple:

c:\> cls

Note: Aucune option n'est rattachée a cette commande.


Cmd

Appel de la Console DOS sous Windows.

Chemin d'accès : Démarrer -> Exécuter -> Taper "CMD" puis ENTREE


Color

Introduction[modifier | modifier le wikicode]

Cette commande permet de changer la couleur d'arrière plan ainsi que celle des caractères.

Utilisation[modifier | modifier le wikicode]

Il faut entrer color suivi des chiffres suivants :

0 = Noir
1 = Bleu foncé
2 = Vert
3 = Bleu gris
4 = Marron
5 = Pourpre
6 = Kaki
7 = Gris clair
8 = Gris
9 = Bleu clair
A = vert clair
B = Cyan
C = Rouge
D = Rose
E = Jaune
F = blanc

Le premier chiffre sera la couleur de l'arrière-plan, le second sera la couleur des caractères.

color 4B

Dans cet exemple, l'arrière-plan sera marron et les caractères seront en cyan.


Convert

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle permet de convertir les volumes FAT en NTFS.

Utilisation[modifier | modifier le wikicode]

CONVERT [volume:] [format]

Exemple:

 c:\convert c: /FS:NTFS
  • Le volume doit être défini par sa lettre et les deux points
  • Le format est défini par /FS:NTFS (le seul disponible).

Options

  • /V Permettant d'avoir plus d'information sur le déroulement de l'exécution


Notes: Si le disque dur à convertir est utilisé, l'application demandera pour se lancer au prochain démarrage.


Copy

Introduction[modifier | modifier le wikicode]

Copy

Cette commande copie un ou plusieurs fichiers sur un autre emplacement.

Utilisation[modifier | modifier le wikicode]

COPY [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
     [+ source [/A | /B] [+ ...]] [cible [/A | /B]]

Paramètres[modifier | modifier le wikicode]

source
Fichier(s) à copier.
/A
Indique un fichier texte ASCII.
/B
Indique un fichier binaire.
cible
Répertoire et/ou nom de fichier cible.
/V
Vérifie l'écriture du ou des fichiers cible.
/N
Utilise un nom de fichier court, s'il est disponible, lors de la copie d'un fichier ayant un nom supérieur à 8.3 caractères.
/Y
Supprime la confirmation de l'écrasement d'un fichier cible existant.
/-Y
Demande une confirmation pour écraser un fichier cible existant.
/Z
Copie les fichiers réseau en mode redémarrage.

L'option /Y peut être prédéfinie dans la variable d'environnement COPYCMD. Il est possible d'annuler cela avec l'option /-Y de la ligne de commande. Par l'utilisateur est invité à confirmer l'écrasement à moins que la COPY ne soit exécutée à partir d'un fichier de commandes.

Pour concaténer des fichiers, spécifier un seul fichier cible et plusieurs sources (avec caractères génériques ou fichier1+fichier2+fichier3) ou un répertoire :

copy directory result.txt
pause


Date

Introduction[modifier | modifier le wikicode]

La commande DATE permet de modifier la date système, ou simplement de la lire.

Utilisation[modifier | modifier le wikicode]

DATE [/T | date]

Si aucun paramètre n'est spécifié, la commande demande à l'utilisateur la nouvelle date.

Le commutateur /T permet d'afficher la date courante sans rien demander (aucune attente).

Si une date est spécifiée en paramètre, la date système est modifiée.

Résultat[modifier | modifier le wikicode]

C:\>date
La date du jour est : 06/07/2012
Entrez la nouvelle date : (jj-mm-aa)

Exemple[modifier | modifier le wikicode]

Le script suivant récupère le retour de DATE /T grâce à la commande For et découpe la ligne suivant les caractères / et espace pour ne récupérer que certaines informations.

 @ECHO OFF
 
 FOR /F "usebackq tokens=1,2,3,4 delims=/ " %%A in (`DATE /T`) DO (
   ECHO Jour de la semaine : %%A
   ECHO Jour du mois : %%B
   ECHO Mois : %%C
   ECHO Année : %%D
 )
Attention !

Logo L'exemple ci-dessus ne fonctionne pas sur le DOS Microsoft Windows [version 6.1.7601] car "DATE /T" n'y affiche pas le jour de la semaine.


Notons qu'il est également possible de passer par la variable d'environnement %DATE% de la manière suivante :

 ECHO Date : %DATE:~%
 Date : 14/10/2010
 ECHO Jour du mois : %DATE:~0,2%
 Jour du mois : 14
 ECHO Mois : %DATE:~3,2%
 Mois : 10
 ECHO Année : %DATE:~6,4%
 Année : 2010
  • Affichage au format yyyymmdd :
echo %DATE:~6,4%%DATE:~3,2%%DATE:~0,2%

Résultat : 20120706.

Voir aussi[modifier | modifier le wikicode]


Del

Introduction[modifier | modifier le wikicode]

Delete

Erase

Commande interne DOS, elle permet de supprimer des fichiers.

Utilisation[modifier | modifier le wikicode]

DEL options noms
ERASE options noms
  • La liste noms peut employer les caractères génériques * et ?.

Options[modifier | modifier le wikicode]

/P
Demande une confirmation avant de supprimer un fichier.
/F
Force la suppression de fichiers en lecture seule.
/S
Supprime les fichiers dans tous les sous-répertoires.
/Q
Pas de confirmation avant la suppression si des caractères génériques ont été utilisés (* et ?).
/A
Suppression en fonction des attributs :
R
Fichiers en lecture seule
S
Fichiers système
H
Fichiers cachés
A
Fichiers prêts pour archive
-
Préfixe de négation

Exemples[modifier | modifier le wikicode]

 del *.bak
 erase *.tmp
 del /AH /S thumbs.db
 DEL /F /Q /S /A:H C:\*.sqm

Pour supprimer tous les fichiers temporaires de plus de 60 jours :

 forfiles /p "C:\Temp" /s /m *.* /c "cmd /c Del @path" /d -60


Deltree

Type: External (6.0 et versions ultérieures)

Syntaxe:

DELTREE [/ Y] [d:] chemin [d:] chemin [...]

Objet: Supprime (efface) un répertoire contenant tous les fichiers et sous-répertoires qu'il contient (nouveau avec DOS version 6).

Discussion

Contrairement à la commande RMDIR, la commande DELTREE vous permet de supprimer un répertoire même s'il contient des fichiers et des sous-répertoires. Tous les fichiers et sous-répertoires subordonnés au répertoire que vous supprimez seront également supprimés, quels que soient leurs attributs. Cela signifie que même si un fichier a des attributs cachés, système, en lecture seule ou autres, il sera quand même supprimé. Vous pouvez spécifier plusieurs répertoires à supprimer.

ATTENTION :

Lorsque vous utilisez des caractères génériques avec la commande DELTREE, vous devez être extrêmement prudent, car les répertoires et les fichiers dont le nom correspond au caractère générique seront supprimés.

Option

/ Y - Exécute la commande DELTREE sans fournir d'invite pour confirmer la suppression.

Exemples

Pour supprimer le répertoire LETTERS, y compris tous les fichiers et sous-répertoires qu'il contient, entrez

DELTREE c: \ letters.


Dir

Introduction[modifier | modifier le wikicode]

Le DOS est le sigle des mots Disk Operating System (système de gestion des disques), c'est un langage de programmation inventé par Microsoft.

Le DOS n'est pas accessible directement à l'utilisateur, c'est un ensemble de routines matérielles et logicielles gérant les différents éléments de l'ordinateur. Ces routines sont regroupées en catégories nommées interruptions.

Windows est lui-même programmé en partie en DOS.

Directory listing

Commande interne de toutes les versions de DOS, permettant de lister les descripteurs, répertoires, (directory) des mémoires de masse attachées au système d'exploitation DOS.

Utilisation[modifier | modifier le wikicode]

DIR [lecteur:][chem][fichier]

[lecteur:][chem][fichier] Lecteur, répertoire et/ou fichier(s) à afficher.
  • DIR : Affiche la liste des répertoires et fichiers du dossier (répertoire) actuel.
  • DIR *.ext : Affiche la liste de tous les fichiers ayant l'extension EXT.
  • DIR X*.* : Affiche la liste des fichiers commençant par X.

Commutateurs ou options[modifier | modifier le wikicode]

/P, /W, /A, /O, /S, /B, /L, /C[H]

  • /P : Marque une pause à chaque écran lors de l'affichage de la liste des fichiers et dossiers.
  • /W : Affiche de manière condensée la liste des fichiers et répertoires sur plusieurs colonnes.
  • /A[:]attributs : Affiche les fichiers titulaires des attributs spécifiés.
    • D Répertoires
    • R Fichiers lecture seule
    • H Fichiers cachés
    • S Fichiers système
    • A Fichiers prêt à archiver
    • - Préfixe signifiant "non"
  • /O : Affiche les fichiers dans l'ordre spécifié.
    • N Nom (alphabétique)
    • S Taille (croissante)
    • E Extension (alphabétique)
    • D Date et heure (chronologique)
    • G Répertoires en tête
    • - Préfixe pour l'ordre inverse
    • C Par taux de compression (par ordre croissant)
  • /S : Affiche le catalogue du répertoire courant et de tout les sous répertoires de celui-ci.
  • /B Affiche les noms de fichier seuls.
  • /L Affiche le catalogue en minuscules.
  • /C[H] : Affiche le taux de compression du fichier;
    • /CH Utilise pour l'affichage la taille l'unité d'allocation de l'hôte.

Note : Les différentes options peuvent être combinées.

Les commutateurs ou options peuvent être initialisés dans la variable d'environnement DIRCMD. Fixez les options en préfixant le commutateur par -, ex: /-W.

Lister le contenu d'un répertoire dans un fichier[modifier | modifier le wikicode]

Il peut être pratique de lister les fichiers d'un répertoire (par exemple, pour tenir un catalogue de fichiers).

La fonction dir permet de lister le contenu d'un répertoire et de le sauvegarder dans un fichier. Il suffit d'utiliser la redirection > :

dir /B c:\nomrep > maliste.txt

Pour lister plusieurs répertoires, il suffit de lancer tout d'abord la commande ci-dessus une première fois. Ensuite, en appliquant la redirection >> aux répertoires suivant, les nouvelles listes sont concaténées dans le fichier :

dir c:\autrerep >> maliste.txt


Diskpart

Introduction[modifier | modifier le wikicode]

Commande de gestion des partition.

Cette commande permet de contourner les bridages de la gestion des disques Windows 7.

Exemple[modifier | modifier le wikicode]

Pour supprimer le montage du lecteur S (sans effacer la partition) :

list volume
select disk 0
select volume 1
remove letter S


Echo

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle permet d'afficher des messages et de basculer le mode echo.

Utilisation[modifier | modifier le wikicode]

ECHO [ON|OFF]
ECHO message

Mode echo[modifier | modifier le wikicode]

Quand le mode echo est actif, le prompt est affiché avant la commande, et en mode batch, toutes les commandes exécutées sont affichées. Quand il est inactif, le prompt n'est pas affiche, et en mode batch, les commandes exécutées ne sont pas affichées au préalable.

Si aucun paramètre n'est fourni, la commande affiche l'état actuel

Message[modifier | modifier le wikicode]

Le fait que cette commande ait une double utilisation interdit apparemment les messages vides ou ne comportant que le mot ON ou OFF. Mais ceci est contourné en utilisant le caractère point (.) au lieu de espace pour le séparer du message :

echo.
echo.on
echo.off

Comme pour toute commande DOS, il est également possible d'afficher les caractères normalement interprétés par le DOS, en les précédant du caractère accent circonflexe (^) :

echo 4 ^< 5  ^&^&  8 ^> 5

affiche :

4 < 5  &&  8 > 5

Il est également possible de mettre des chaines de caractère entre guillemets ("). Les guillemets seront affichés mais les commandes DOS ne seront pas interprétées :

echo "Athos, Porthos & Aramis"

affiche

"Athos, Porthos & Aramis"

Exemples[modifier | modifier le wikicode]

@ECHO OFF
ECHO Ceci est un message ^& un test

La commande affiche :

Ceci est un message & un test


Edit

Introduction[modifier | modifier le wikicode]

La commande EDIT est en réalité un programme DOS qui permet d'éditer des fichiers textes sous une console DOS. Sous windows, l'encodage de l'affichage n'est pas de l'ASCII, mais un autre codage (Latin-1 ou ISO8859-1 pour la France) dont la moitié des caractères sont en commun. Dans une console DOS, le codage utilisé est de l'ASCII étendu. Ainsi, le caractère 'é' entré dans un éditeur windows (quel qu'il soit) est codé différemment et apparait en 'Ú' dans la console. La commande EDIT permet d'écrire dans les fichier en utilisant l'encodage ASCII étendu qui sera utilisé lors de l'exécution du script. C'est pourquoi, il est recommendé d'écrire un script sous windows, puis de l'éditer sous EDIT. En effet, tous les caractère du type 'é' apparaitront sous EDIT en 'Ú'. Il est alors facile de repérer ces caractères et de les modifier en caractères corrects.

Utilisation[modifier | modifier le wikicode]

EDIT [fichier]

Ouvre l'éditeur de fichier DOS avec ou sans un fichier.


Del

Introduction[modifier | modifier le wikicode]

Delete

Erase

Commande interne DOS, elle permet de supprimer des fichiers.

Utilisation[modifier | modifier le wikicode]

DEL options noms
ERASE options noms
  • La liste noms peut employer les caractères génériques * et ?.

Options[modifier | modifier le wikicode]

/P
Demande une confirmation avant de supprimer un fichier.
/F
Force la suppression de fichiers en lecture seule.
/S
Supprime les fichiers dans tous les sous-répertoires.
/Q
Pas de confirmation avant la suppression si des caractères génériques ont été utilisés (* et ?).
/A
Suppression en fonction des attributs :
R
Fichiers en lecture seule
S
Fichiers système
H
Fichiers cachés
A
Fichiers prêts pour archive
-
Préfixe de négation

Exemples[modifier | modifier le wikicode]

 del *.bak
 erase *.tmp
 del /AH /S thumbs.db
 DEL /F /Q /S /A:H C:\*.sqm

Pour supprimer tous les fichiers temporaires de plus de 60 jours :

 forfiles /p "C:\Temp" /s /m *.* /c "cmd /c Del @path" /d -60


Exe2bin

Introduction[modifier | modifier le wikicode]

Executable to Binary

Cet utilitaire permet de convertir des fichiers exécutables au format binaire.


Syntaxe[modifier | modifier le wikicode]

EXE2BIN [lecteur1:][chemin1]fichier1.exe [[lecteur2:][chemin2]fichier2.bin]


fichier1.exe
Nom du fichier exécutable à convertir.
fichier2.bin
Nom du fichier binaire à créer. S'il n'est pas spécifié, le fichier sera nommé selon le fichier à convertir.

Exemple[modifier | modifier le wikicode]

EXE2BIN C:\Users\Public\exe1mple.exe C:\Users\Public\bin1aire.bin
EXE2BIN C:\Users\Public\exe1mple.exe

Dans le second exemple, le fichier exe1mple.exe sera converti en exe1mple.bin.


Exit

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle permet de sortir de l'interpréteur.

Utilisation[modifier | modifier le wikicode]

EXIT [/B] [code_sortie]

Options[modifier | modifier le wikicode]

/B
Sort du fichier batch sans terminer cmd.exe.
code_sortie
Code de sortie retourné (errorlevel).

Exemple[modifier | modifier le wikicode]

exit 5


Find

Introduction[modifier | modifier le wikicode]

La commande FIND permet de rechercher une chaîne de texte dans un ou plusieurs fichiers.


Syntaxe[modifier | modifier le wikicode]

FIND [/V][/C][/N][/I][/OFF[LINE]] "chaîne" [[lecteur:][chemin]nom_de_fichier.ext[ ...]]


Chemin[modifier | modifier le wikicode]

"chaîne"
Spécifie la chaîne de texte à rechercher.
[lecteur:][chemin]nom_de_fichier.ext
Spécifie un ou plusieurs fichiers pour la recherche (facultatif).

Sans chemin spécifié, FIND recherche la chaîne de texte saisie à l'invite ou redirigée depuis une autre commande.


Options[modifier | modifier le wikicode]

/V
Affiche toutes les lignes ne contenant pas la chaîne spécifiée.
/C
Affiche seulement le nombre de lignes contenant la chaîne.
/N
Affiche les numéros de ligne avec les lignes affichées.
/I
Ignore la casse lors de la recherche de la chaîne.
/OFF[LINE]
Ne pas ignorer les fichiers dont l'attribut "hors connexion" a été réglé.

Exemple[modifier | modifier le wikicode]

FIND /I "batchfile" C:\Docs\fichier.txt


Findstr

Recherche de chaînes de caractères dans les fichiers.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P]

       [/F:fichier] [/C:chaîne] [/G:fichier] [/D:liste de répertoires]
       [/A:attributs de couleur] [chaînes]
       [[lecteur:][chemin]nom de fichier[ ...]]
 /B           Recherche l'élément s'il est en début de ligne.
 /E           Recherche l'élément s'il est en fin de ligne.
 /L           Recherche les chaînes littéralement.
 /R           Recherche les chaînes en tant qu'expressions.
 /S           Recherche les fichiers correspondants dans le répertoire actif
              et dans tous ses sous-répertoires.
 /I           Spécifie que la recherche ne doit pas tenir compte de la casse.
 /X           Affiche les lignes correspondant parfaitement.
 /V           N'affiche que les lignes non correspondantes.
 /N           Affiche le numéro de ligne devant chaque ligne correspondante.
 /M           Affiche uniquement le nom des fichiers contenant des chaînes
              correspondantes.
 /O           Affiche le décalage des caractères pour chaque ligne
              correspondante.
 /P           Ignore les fichiers ne contenant pas de caractères affichables.
 /OFFLINE     Ne pas ignorer les fichiers dont l'attribut hors connexion a été réglé.
 /A:attr      Spécifie l'attribut de couleur avec 2 chiffres hexadécimaux.
              Entrez "color /?".
 /F:fichier   Lit la liste des fichiers dans le fichier spécifié (/ pour la
              console).
 /C:chaîne    Recherche la chaîne spécifiée littéralement.
 /G:fichier   Obtient les chaînes à rechercher à partir du fichier spécifié
              (/ pour la console).
 /D:rép       Recherche dans une liste de répertoires délimitée par des
              points-virgules.
 chaînes      Chaînes à rechercher.
 [lecteur:][chemin]nom de fichier
              Spécifie les fichiers dans lesquels effectuer la recherche.

Utilisez des espaces pour séparer plusieurs chaînes à rechercher, sauf si l'argument est précédé de /C. Exemple : 'FINDSTR "bonne journée" x.y' recherche "bonne" ou "journée" dans le fichier x.y. 'FINDSTR /C:"bonne journée" x.y' recherche "bonne journée" dans le fichier x.y.

Petit guide des options usuelles :

 .        Caractère joker = tout caractère
 *        Répétition : zéro occurrences ou plus du caractère ou de la classe
          précédents
 ^        Emplacement : début de ligne
 $        Emplacement : fin de ligne
 [classe] Classe de caractères : tout caractère du jeu
 [^class] Classe inverse : tout caractère n'appartenant pas au jeu
 [x-y]    Limites : tout caractère dans les limites spécifiées
 \x       Échappement : utilisation littérale du métacaractère x
 \<xyz    Emplacement : début du mot
 xyz\>    Emplacement : fin du mot

Pour obtenir des informations complètes sur les options usuelles FINDSTR, reportez-vous à la Référence des commandes en ligne.


For

Introduction[modifier | modifier le wikicode]

Cette commande permet de faire une boucle. Celle-ci peut répéter une liste de valeurs, les lignes d'un ou plusieurs fichiers, ou encore un ensemble de nombres entiers. Le type de boucle est choisi par le commutateur indiqué au FOR (aucun, /D, /R, /L ou /F).

La commande FOR utilise une ou plusieurs variables locales pour effectuer la boucle. Dans le cas d'une commande entrée directement sous DOS, il faut les utiliser avec un simple %, alors que si la commande est utilisée dans un fichier batch .bat, il faudra l'utiliser avec %%. Dans la suite, les descriptions d'utilisation utiliseront un simple %, et les exemples, généralement destinés à être intégrés dans un fichier de commandes, auront les variables notées avec %%

Boucle sur des fichiers[modifier | modifier le wikicode]

Ces boucles s'utilisent pour appliquer une commande à plusieurs fichiers. Au lieu de copier plusieurs fois la même commande pour un fichier, le FOR permet de n'écrire cette commande qu'une seule fois. Ceci est surtout utile si la commande est complexe.

Utilisation[modifier | modifier le wikicode]

FOR %variable IN (ensemble de fichiers) DO commande

Pour ce cas, le FOR s'utilise sans commutateur. Il est généralement utilisé pour boucler sur un ensemble de noms de fichier, d'autant qu'il est utilisé avec les expressions du type *.extension ou utilisant les caractères génériques '*' et '?' autrement. Il peut être utilisé avec de simples chaînes de caractères, mais ceci est déconseillé à cause de l'interprétation de certains caractères.

Exemples[modifier | modifier le wikicode]

Exemple sur de simples chaînes[modifier | modifier le wikicode]

FOR %%i IN (chaine1 chaine2) do @ECHO %%i

Cet exemple est équivalent à l’exécution des commandes suivantes :

@ECHO chaine1
@ECHO chaine2

Exemple sur un ensemble de fichiers sans caractère générique[modifier | modifier le wikicode]

FOR %%i IN (fichier1.txt fichier2.txt) do @TYPE %%i

Cet exemple est équivalent à l’exécution des commandes suivantes :

@TYPE fichier1.txt
@TYPE fichier2.txt

Exemple sur un ensemble de fichiers utilisant les caractères génériques[modifier | modifier le wikicode]

FOR %%i IN (*.txt) do @TYPE "%%i"

En supposant que le répertoire courant contienne les fichiers fich1.txt, fich2.txt et fich3.txt, cet exemple est équivalent à l’exécution des commandes suivantes :

@TYPE "fich1.txt"
@TYPE "fich2.txt"
@TYPE "fich3.txt"

Variante :

FOR %%i IN (*.txt *.doc install.log) do @TYPE "%%i"

En supposant que le répertoire courant contienne les fichiers fich1.txt, fich2.txt, fich3.txt, readme.doc, lisezmoi.doc, cet exemple est équivalent à l’exécution des commandes suivantes :

@TYPE "fich1.txt"
@TYPE "fich2.txt"
@TYPE "fich3.txt"
@TYPE "readme.doc"
@TYPE "lisezmoi.doc"
@TYPE "install.log"

Boucle de répétition de commandes[modifier | modifier le wikicode]

Ces boucles s'utilisent pour exécuter une commande plusieurs fois, au lieu de faire beaucoup de copies de la commande, la boucle FOR permet de n'écrire cette commande qu'une fois. ceci est surtout utile si le nombre de répétition est grand.

Utilisation[modifier | modifier le wikicode]

Le commutateur /L permet de faire une boucle FOR classique, c'est-à-dire qu'elle permet de boucler sur des commandes un certain nombre de fois.

FOR /L %variable IN (index de début, pas, index de fin) DO commande

La première boucle mettra dans variable la valeur index de début, puis, à chaque boucle, la valeur affectée à variable sera incrémentée de la valeur pas. Enfin, lorsque que la valeur affectée à variable dépasse la valeur index de fin, la boucle s'arrête.

Exemple[modifier | modifier le wikicode]

FOR /L %i IN (1,2,10) DO @ECHO Message %i

Ici, la variable %i commence à 1, augmentera de 2 à chaque boucle. La boucle se terminera lorsque %i vaudra plus de 10 (c'est-à-dire que %i = 9 sera la dernière boucle). Cet exemple est donc équivalent à l’exécution des commandes suivantes :

Message 1
Message 3
Message 5
Message 7
Message 9

Boucle sur des répertoires[modifier | modifier le wikicode]

Le principe est le même que pour les boucles sur des fichiers, mais s'applique sur les répertoires lorsque que l'ensemble est une chaine contenant des caractères génériques.

Utilisation[modifier | modifier le wikicode]

Le commutateur /D permet de rechercher des répertoires au lieu de fichiers.

FOR /D %variable IN (ensemble de répertoires) DO commande

Exemples[modifier | modifier le wikicode]

Exemple sur un ensemble de répertoires sans interprétation[modifier | modifier le wikicode]

FOR /D %i IN (repertoire1 repertoire2) do ECHO %%i

Cet exemple est équivalent à l'exécution des commandes suivantes :

ECHO repertoire1
ECHO repertoire2

Cet exemple est aussi équivalent à l'exécution des commandes suivantes :

FOR %i IN (repertoire1 repertoire2) do ECHO %i

En effet, ici, aucune interprétation d'expression n'est effectuée, c'est comme si la boucle s'effectuait sur des fichiers ou des chaînes de caractères.

Exemple sur un ensemble de répertoires utilisant des caractères génériques[modifier | modifier le wikicode]

FOR /D %i IN (Doc*) do DIR "%i"

Si le répertoire courant contient les répertoires Documents and Settings et Docs, cet exemple est équivalent à l'exécution des commandes suivantes :

DIR "Documents and Settings"
DIR "Docs"

Boucle récursive sur des fichiers ou des répertoires[modifier | modifier le wikicode]

Le principe est le même que les boucles sur des répertoires ou fichiers, mais les recherches se poursuivent dans les sous-répertoires lorsque l'ensemble contient des caractères génériques.

Utilisation[modifier | modifier le wikicode]

L'ajout du commutateur /R permet de faire cette boucle récursive sur les sous-répertoires.

FOR /R [/D] %variable IN (ensemble de répertoires) DO commande

Si le commutateur /R est le seul présent, la recherche récursive s'effectuera sur des noms fichiers. Si les commutateur /R et /D sont présents, la recherche récursive s'effectuera sur des noms de répertoires.

Exemples[modifier | modifier le wikicode]

Exemple sur un ensemble de répertoires sans caractère générique[modifier | modifier le wikicode]

Comme dans le paragraphe précédent, sans caractère générique le commutateur /R est inutile.

Exemple sur un ensemble de répertoires utilisant des caractères génériques[modifier | modifier le wikicode]

FOR /D /R %%i IN (Doc*) do DIR "%%i"

Si le répertoire courant contient les répertoires Documents and Settings et Docs, ainsi que temp contenant le sous-répertoire Documentation, alors cet exemple est équivalent à l'exécution des commandes suivantes :

DIR "C:\Documents and Settings"
DIR "C:\Docs"
DIR "C:\temp\Documentation"

Exemple sur un ensemble de fichiers utilisant des caractères génériques[modifier | modifier le wikicode]

FOR /R %%i IN (Doc*) do ECHO "%%i"

équivalent possible à l'exécution des commandes suivantes :

ECHO "C:\document.txt"
ECHO "C:\doc.odf"
...

Boucle sur le contenu d'un fichier[modifier | modifier le wikicode]

Ces boucles s'utilisent pour appliquer une commande à plusieurs lignes d'un fichier. Contrairement aux autres boucles FOR qui se contentent de noms de fichiers, ces boucles ouvrent tous les fichiers indiqués, et les lisent ligne par ligne. A chaque itération de boucle correspond une ligne d'un fichier.

Utilisation[modifier | modifier le wikicode]

Le commutateur /F permet d'effectuer une boucle sur le contenu de fichiers.

FOR /F ["options"] %variable IN (ensemble de fichiers) DO commande

Avec ce commutateur on peut mettre des options qui vont indiquer comment découper le ou les fichiers, pour savoir quelles parties seront retenues pour l'exécution de la commande. Cela permet, par exemple, le découpage mot par mot. Il faut bien garder à l'esprit que toutes les options définies ci-après se feront sur une ligne donnée d'un fichier, et sont cumulatives.

Découpage de mots ou blocs[modifier | modifier le wikicode]

Pour un découpage poussé, il faut indiquer le ou les caractères qui délimitent les zones. Par exemple, pour les mots, ce seront les caractères espace, mais on peut également découper selon plusieurs caractères différents.

"delims=ensemble de caractères"

Pour les mots séparés par des espaces, il suffira d'ajouter l'option :

"delims= "

Par défaut, les caractères espace et tabulation servent de séparateur.

Exclusion de fin de ligne[modifier | modifier le wikicode]

Pour découper et ne pas prendre en compte tout ce qui se situe à droite d'un caractère, il existe l'option suivante (end of line) :

"eol=caractère"

Par exemple, si le caractère # est un caractère de début de commentaire, et si l'on ne veut pas lire les commentaires, il suffit d'ajouter l'option :

"eol=#"

Exclusion des premières lignes[modifier | modifier le wikicode]

Certains fichiers peuvent contenir des entêtes inexploitables. Il est possible de les supprimer en indiquant le nombre de lignes à exclure lors de la lecture ligne par ligne du fichier. Cette option est globale au fichier, ce n'est pas un traitement de ligne.

"skip=nombre de lignes"

Par exemple, pour exclure systématiquement les quatre premières lignes des fichiers, il suffit d'ajouter :

"skip=4"

Découpe dans les variables[modifier | modifier le wikicode]

La commande FOR ne prend qu'un seul nom de variable. Or, pour chaque ligne, il est possible de faire un découpage, mais un système est mis en place pour permettre de remplir plusieurs variables. Pour l'utiliser, il faut remplir l'option suivante :

"tokens=chiffres séparés par virgules'[*]"

Par exemple, pour un découpage par mots, pour traiter, le premier et le deuxième mots, il faudra utiliser l'option :

"tokens=1,2"

Pour récupérer le reste de la ligne (sans séparer les mots), il suffit d'ajouter le caractère * :

"tokens=1,2*"

Dans la commande, pour utiliser ces différentes zones, il faut utiliser le nom de la variable avec un seul caractère, et de nouvelles variables seront automatiquement créées avec les zones suivantes en incrémentant alphabétiquement le nom de la précédente. Par exemple, si la commande FOR est déclarée avec la variable %%i, la première zone sera mémorisée dans %%i, la deuxième dans %%j, la troisième dans %%k (et ainsi de suite si d'autres zones sont définies). Utiliser la commande FOR en passant le nom de variable %%a permet d'avoir une marge généralement suffisante (26 caractères).

Exemple 1[modifier | modifier le wikicode]

Soit un fichier monFich.txt contient les deux lignes suivantes :

sfqsdf1, zarzera2, xvwcvw3, vcnvbn4, rtyutr5, fdgh6
ssfgqsfdf1, zaerera2, zrezw3, veeenvbn4 ; ppppppp

Un commande FOR lisant ce fichier pourrait être :

FOR /F "eol=; tokens=2,3* delims=, " %%a IN (monfich.txt) DO @ECHO %%a    %%b    %%c

Dans cet exemple, le fichier monFich.txt va être lu ligne par ligne, aucune ligne de début n'est exclue. Les lignes contenant un caractère ; ne seront lues que partiellement : du début jusqu'à ce caractère exclu. Chaque ligne sera découpée en zones selon les caractères virgule (,) et espace. La zone 2 sera mémorisée dans %%a, la zone 3 dans %%b, et toutes les zones suivantes dans %%c L'exécution de cette commande est donc équivalente à :

@ECHO zarzera2    xvwcvw3    vcnvbn4, rtyutr5, fdgh6
@ECHO zaerera2    zrezw3     veeenvbn4

Exemple 2[modifier | modifier le wikicode]

FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i

Cet exemple énumère les noms de variables d'environnement de l'environnement en cours.

Boucle sur le retour d'une commande[modifier | modifier le wikicode]

On pourrait lire de la même façon les lignes de retour d'une commande en redirigeant la sortie d'affichage sur un fichier via l'opérateur commande > fichier , mais la commande FOR permet de lire directement le retour d'une commande sans passer par un fichier. Le principe est le même que les boucles sur les contenus de fichiers, y compris pour les options, seul l'ensemble donné change.

Utilisation[modifier | modifier le wikicode]

FOR /F %%i IN (` commande `) do commande

A la place de l'ensemble de fichiers, il suffit de mettre une commande entre quotes inversées. Les opérations s'effectueront alors sur les lignes du retour d'affichage (qui n'est donc plus affiché).

Exemple[modifier | modifier le wikicode]

L'exemple suivant permet de rechercher tous les fichiers .txt et compte le nombre de fichiers trouvés. Pour cela, la commande DIR /B *.txt liste tous les fichiers .txt sans information supplémentaire. Ainsi, il suffit de compter le nombre de lignes normalement affichées en utilisant un simple compteur.

@ECHO off
SET /A count=0

FOR /F %%A IN ('DIR /B *.txt 2^>NUL') DO SET /A count+=1

IF %count% GTR 1 (
ECHO Trouvé %count% fois !
) ELSE (
ECHO Aucun fichier trouvé
)

Boucle avec plusieurs commandes[modifier | modifier le wikicode]

Dans tous les exemples précédents, une seule commande était exécutée, mais la commande FOR offre la possibilité d'exécuter, pour chaque itération, une succession d'instructions écrite sur plusieurs lignes via des parenthèses. Ceci fonctionne pour tous les cas précédemment définis.

Utilisation[modifier | modifier le wikicode]

FOR commutateurs, options et variable IN (ensemble) DO (
  Commande
  ...
  Commande
)

La parenthèse ouvrante doit se situer sur la même ligne que le FOR pour être valide.

Exemple[modifier | modifier le wikicode]

L'exemple suivant permet de rechercher tous les fichiers .txt contenant la chaîne de caractères toto. La commande FIND /C "toto" *.txt est utilisée pour faire la recherche. Cette commande retourne :

--------- nom du fichier lu: nombre d’occurrences trouvées

Même si la chaîne de caractères n'est pas trouvée, FIND retourne une ligne avec 0 pour le nombre d’occurrences (voir DOS/Find). L'exemple suivant traite donc, chaque ligne retournée par le FIND afin de récupérer le nom des fichiers trouvés.

@ECHO OFF

FOR /F "tokens=1,2* delims=: " %%A IN ('FIND /C "VAR" *.txt') DO (
  IF %%C GTR 0 (
     ECHO Fichier: %%B
     ECHO Nombre d’occurrences : %%C
  )
)

Le nombre d’occurrences est mis dans %%C, c'est pourquoi cet exemple teste si %%C est strictement supérieur à 0 (pour n'afficher que les fichiers trouvés).

Noter que la casse est importante dans les boucles DOS FOR. En effet, %%C est différent de %%c. Ce qui surprend contrairement à shell bash par exemple où l'on l'habitude de ce comportement. Il y a donc 52 variables globales disponibles.


Format

Description[modifier | modifier le wikicode]

FORMAT est une commande externe qui permet de formater un disque dur, une disquette.

Utilisation[modifier | modifier le wikicode]

FORMAT lecteur [options]

Options:

/Q
Formatage rapide.
/V:nom
Nom de volume attribué au disque.
/FS:sys_fich
Système de fichiers (exemples: FAT, FAT32, exFAT, NTFS ou UDF).

Exemple:

format c:
Attention !

Logo Le formatage d'un disque l'initialise, et supprime les éventuelles données existantes.


Goto

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle est utilisée dans un batch pour poursuivre l'exécution au label spécifié.

Utilisation[modifier | modifier le wikicode]

GOTO label

Exemple[modifier | modifier le wikicode]

GOTO plusloin
ECHO Instruction sautée
:plusloin
ECHO Instruction interprétée

Terminer un batch ou une sous-routine[modifier | modifier le wikicode]

Pour sortir du batch ou d'une sous-routine, le label spécial :eof peut être utilisé :

ECHO Instruction interprétée
GOTO :eof
ECHO Instruction 1 sautée
ECHO Instruction 2 sautée


Help

Introduction[modifier | modifier le wikicode]

La commande HELP permet d'obtenir l'aide des commandes DOS

Utilisation[modifier | modifier le wikicode]

HELP

Donne la liste des commandes avec leur résumé

HELP commande

Donne une aide précise sur une commande particulière. Cela revient parfois à faire:

commande /?

Exemples[modifier | modifier le wikicode]

HELP cmd
HELP SET
HELP IF
HELP FOR


Hostname

Affiche le nom de l'ordinateur.


If

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle est utilisée pour exécuter une commande si une condition est vraie.

Utilisation[modifier | modifier le wikicode]

IF condition commande

commande n'est exécutée que si condition est vraie.

IF condition commande_vrai ELSE commande_faux

La commande commande_vrai n'est exécutée que si condition est vraie. Sinon, la commande commande_faux est exécutée.

Plusieurs commandes[modifier | modifier le wikicode]

IF condition (
commandes
)

Les commandes ne sont exécutées que si condition est vraie.

IF condition (
commandes_vrai
) ELSE (
commandes_faux
)

Les commandes commandes_vrai ne sont exécutées que si condition est vraie. Sinon, les commandes commandes_faux sont exécutées.


Exemples[modifier | modifier le wikicode]

IF "%1" == "" (
echo syntaxe : fichier_texte fichier_binaire
exit
)
IF "%1" == "toto" (
echo le parametre est bien toto
exit
)

Condition[modifier | modifier le wikicode]

La commande IF supporte différents types de condition.

Tester le code de retour[modifier | modifier le wikicode]

Toute application ou commande retourne un entier, valant 0 quand tout s'est bien passé, et différent de zéro sinon.

IF ERRORLEVEL n commande

Cette syntaxe teste si la commande précédente a retourné un code supérieur ou égal à n.

Exemple:

IF ERRORLEVEL 1 echo Erreur
IF NOT ERRORLEVEL n commande

Cette syntaxe teste si la commande précédente a retourné un code strictement inférieur à n.

Exemple:

IF NOT ERRORLEVEL 1 echo OK

Tester l'existence d'un fichier[modifier | modifier le wikicode]

IF EXIST nom_fichier commande

La commande est exécutée si le fichier existe.

IF NOT EXIST nom_fichier commande

La commande est exécutée si le fichier n'existe pas.

Comparer deux chaînes de caractères[modifier | modifier le wikicode]

IF chaine1==chaine2 commande
IF NOT chaine1==chaine2 commande
IF [/I] chaine1 op chaine2 commande

L'option /I permet d'ignorer la casse (A=a). op peut valoir :

  • EQU : égal à
  • NEQ : différent de
  • LSS : inférieur à
  • LEQ : inférieur ou égal à
  • GTR : supérieur à
  • GEQ : supérieur ou égal à

La comparaison de chaîne est lexicographique. Si les deux chaînes ne sont composées que de chiffres, une comparaison numérique est effectuée.

La variable d'environnement %ERRORLEVEL% contient le code de retour de la dernière commande, et peut être testée avec cette syntaxe.

Tester une variable d'environnement[modifier | modifier le wikicode]

IF DEFINED variable commande

Teste si la variable indiquée existe.


Ipconfig

Affiche les paramètres/détails des connexions réseau actives. (environnement Windows)


Label

Introduction[modifier | modifier le wikicode]

Un label est un point d'exécution dans un batch, utilisé par la commande goto.

On peut également l'utiliser comme commentaire, car les labels sont ignorés, à moins qu'une commande goto correspondante soit utilisée.

Utilisation[modifier | modifier le wikicode]

:label

Exemple[modifier | modifier le wikicode]

GOTO plusloin
ECHO Instruction sautée
:plusloin
ECHO Instruction interprétée


Mkdir

Introduction[modifier | modifier le wikicode]

Make Directory

Commande interne DOS, elle permet de créer un nouveau répertoire.

Utilisation[modifier | modifier le wikicode]

MKDIR chemin
MD chemin

chemin désigne le chemin incluant le nom du nouveau répertoire.

Options[modifier | modifier le wikicode]

Cette commande ne possède aucune option.

Exemples[modifier | modifier le wikicode]

mkdir c:\program\application1
md data_cache


Mkdir

Introduction[modifier | modifier le wikicode]

Make Directory

Commande interne DOS, elle permet de créer un nouveau répertoire.

Utilisation[modifier | modifier le wikicode]

MKDIR chemin
MD chemin

chemin désigne le chemin incluant le nom du nouveau répertoire.

Options[modifier | modifier le wikicode]

Cette commande ne possède aucune option.

Exemples[modifier | modifier le wikicode]

mkdir c:\program\application1
md data_cache


Mklink

MKLINK est une commande DOS qui créé un raccourci NTFS. Ce raccourci redirige de façon transparente les accès des logiciels ainsi que du système au dossier, sous-dossier et fichier sans que le chemin d'accès soit altéré.

Ex :

C:\Maison est un raccourci qui mène vers D:\Terre
C:\Maison\Soleil est donc égal à D:\Terre\Soleil mais le logiciel ne le sais pas.

Il est surtout utilisé afin de déplacer le répertoire de profil d'un utilisateur sans avoir à reconfigurer le système.

Voici comment déplacer le profil d'un utilisateur spécifique sous Windows 7.

  1. Si ce n'est pas déjà fait, il faut activer le compte administrateur. Pour ce faire, il faut se rendre dans la liste des utilisateurs dans le panneau de configuration ou dans le module de gestion de l'ordinateur. Il n'est pas obligatoire de ce servir de ce compte mais il ne faut pas oublier que l'utilisateur dont le dossier doit être déplacer ne peux pas être utilisé et ce même s'il est administrateur car le profil ne peux être déplacer s'il est en cours d'utilisation.
  2. Se connecter avec l'utilisateur administrateur.
  3. Déplacer le répertoire du profil de l'utilisateur à l'endroit voulu.
  4. Une fois le répertoire déplacé, il est très important de s'assurer que les autorisations NTFS sont correctes. Il faut donc s'assurer que le répertoire ainsi que tous les répertoires parents jusqu'à la racine du volume dans lequel il se retrouve soient vérifiés. L'utilisateur SYSTEM doit avoir accès complet ainsi que le groupe Users (Utilisateurs). Par contre, le répertoire du profil doit être configuré pour ne pas hériter des autorisations NFTS car le groupe Users (Utilisateurs) ne doit pas y être et l'usager concerné doit avoir un accès complet.
  5. Créer le raccourci avec la commande MKLINK. Si l'utilisateur est Paul et que son dossier a été déplacer de C:\Users\Paul à D:\Paul, voici la commande: MKLINK /D C:\Users\Paul D:\Paul Le raccourcis C:\Users\Paul va apparaitre.
  6. S'assurer que le raccourcis lui-même a les même droits NTFS que le dossier réel. Cela évite l'apparition des cadenas sur les sous-dossiers de l'utilisateur.

Voilà ! Il ne reste plus qu'à se reconnecter avec l'usager et si tout va bien le connexion se passe comme d'habitude. Sinon, un profil temporaire est utilisé.


Move

Introduction[modifier | modifier le wikicode]

Move

Cette commande permet de déplacer des fichiers et renommer des répertoires.

Utilisation[modifier | modifier le wikicode]

Pour déplacer un ou plusieurs fichiers :

MOVE [/Y | /-Y] [lecteur:][chemin]fichier1[,...] destination

Pour renommer un répertoire:

MOVE [/Y | /-Y] [lecteur:][chemin]répertoire1 répertoire2

Paramètres[modifier | modifier le wikicode]

[lecteur:][chemin]fichier1
Spécifie l'emplacement et le nom du ou des fichiers que vous voulez déplacer.
destination
Spécifie le nouvel emplacement du fichier. Destination peut être une lettre de lecteur et deux-points (:), un nom de répertoire, ou une combinaison. Si vous déplacez un seul fichier, vous pouvez aussi inclure un nom de fichier si vous voulez renommer le fichier en le déplaçant.
[lecteur:][chemin]répertoire1
Spécifie le répertoire que vous voulez renommer.
répertoire2
Spécifie le nouveau nom du répertoire.
/Y
Supprime la demande de confirmation de remplacement de fichiers de destination existants.
/-Y
Provoque la demande de confirmation de remplacement de fichiers de destination existants.

L'option /Y peut être présente dans la variable d'environnement COPYCMD. Outrepassez ceci en utilisant /-Y dans la ligne de commandes. Par défaut, une demande de confirmation apparaît sauf si la commande MOVE est exécutée depuis un script de commandes.


Net

Commandes[modifier | modifier le wikicode]

Obtenir de l'aide sur les commandes NET faire simplement :

NET HELP commande

ou :

NET commande /HELP

ou encore pour affiche l'aide écran par écran :

NET HELP commande | MORE 


Les commandes disponibles sont :

  1. NET ACCOUNTS
  2. NET COMPUTER
  3. NET CONFIG
  4. NET CONFIG SERVER
  5. NET CONFIG WORKSTATION
  6. NET CONTINUE
  7. NET FILE
  8. NET GROUP
  9. NET HELP
  10. NET HELPMSG
  11. NET LOCALGROUP
  12. NET NAME
  13. NET PAUSE
  14. NET PRINT
  15. NET SEND
  16. NET SESSION
  17. NET SHARE
  18. NET START
  19. NET STATISTICS
  20. NET STOP
  21. NET TIME
  22. NET USE
  23. NET USER
  24. NET VIEW

Net send[modifier | modifier le wikicode]

net send envoie des messages sur le LAN. Ex :

net send 192.168.1.10 \"coucou\"

Net start[modifier | modifier le wikicode]

Permet de lancer un service. Ex :

net start apache2

Net statistics[modifier | modifier le wikicode]

Affiche des stats soit sur un serveur, soit un client. Ex :

net statistics server

Uptime :

net statistics workstation | findstr "since"

Net stop[modifier | modifier le wikicode]

Contraire de "net start". Ex :

net stop apache2

Net use[modifier | modifier le wikicode]

net use monte un lecteur réseau. Ex :

net use Z: \\192.168.1.10\c$ /persistent:yes /user:MonCompte MonMotDePasse

NB : il est déconseillé de laisser le mot de passe en clair dans un script.

Pour démonter le lecteur :

net use Z: /delete

Problèmes connus[modifier | modifier le wikicode]

Si le lecteur ne monte pas avec : L'erreur système 1219 s'est produite. Plusieurs connexions à un serveur ou à une ressource partagée par le même utilisateur, en utilisant plus d'un nom utilisateur, ne sont pas autorisées. Supprimez toutes les connexions précédentes au serveur ou à la ressource partagée et recommencez.

Alors c'est probablement le partage du dossier cible ou de son parent qu'il faut revoir.


Pause

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle permet d'interrompre l'exécution d'un programme.

Une invite apparaît sur la sortie (par exemple, Appuyer sur une touche pour continuer...). En appuyant sur une touche, le programme se poursuit.

Utilisation[modifier | modifier le wikicode]

PAUSE

Exemple[modifier | modifier le wikicode]

pause


Popd

Introduction[modifier | modifier le wikicode]

Pop Directory

Commande interne DOS, elle permet de retourner au répertoire courant précédent la dernière commande pushd.

Utilisation[modifier | modifier le wikicode]

POPD

Exemple[modifier | modifier le wikicode]

REM C:\
PUSHD C:\Windows
REM C:\Windows
PUSHD E:\temp
REM E:\Temp
POPD
REM C:\Windows
POPD
REM C:\

Voir[modifier | modifier le wikicode]


Pushd

Introduction[modifier | modifier le wikicode]

Push Directory

Commande interne DOS, elle permet de modifier le répertoire courant en mémorisant les répertoires courants précédents.

Utilisation[modifier | modifier le wikicode]

PUSHD chemin

Exemple[modifier | modifier le wikicode]

REM C:\
PUSHD C:\Windows
REM C:\Windows
PUSHD E:\temp
REM E:\Temp
POPD
REM C:\Windows
POPD
REM C:\

Voir[modifier | modifier le wikicode]


Rmdir

Introduction[modifier | modifier le wikicode]

Remove Directory

Commande interne DOS, elle permet de supprimer un répertoire vide.

Utilisation[modifier | modifier le wikicode]

RMDIR options chemin
RD options chemin du repertoire

Le chemin désigne le répertoire à supprimer.

Options[modifier | modifier le wikicode]

/S
Supprime tous les sous-répertoires et fichiers également.
/Q
Pas de confirmation avant la suppression si l'option /S est utilisée.

Exemples[modifier | modifier le wikicode]

rmdir /S /Q c:\temp
rd c:\data\cache


Rem

Introduction[modifier | modifier le wikicode]

Remark

Commande interne DOS, elle permet d'ignorer le commentaire qui suit.

Utilisation[modifier | modifier le wikicode]

REM commentaire

Exemples[modifier | modifier le wikicode]

REM
REM Commentaire utile dans un batch

Pour ne pas afficher les lignes commentées dans la console, utiliser :

@Echo off


Replace

Rôle[modifier | modifier le wikicode]

Copie et déplace des fichiers sélectionnés.

Syntaxe[modifier | modifier le wikicode]

replace (unité1:)(chemin1)(fichier) (unité2:)(chemin2) (/a)(/p)(/r)(/w)
replace (unité1:)(chemin1)(fichier) (unité2:)(chemin2) (/p)(/r)(/s)(/w)(/u)

Paramètres[modifier | modifier le wikicode]

(unité1:)(chemin1)(fichier)

Précise le nom et l'emplacement du fichier ou du groupe de fichier source.

(unité2:)(chemin2)

Précise l'emplacement du fichier cible. Vous ne pouvez pas spécifier le nom des fichiers de remplacement. Si vous ne précisez ni une unité ni un répertoire, replace utilise l'unité et le répertoire en cours en tant que cible.

Commutateurs[modifier | modifier le wikicode]

  • /a Ajoute de nouveaux fichiers au répertoire cible au lieu de remplacer des fichiers existants. Ce commutateur ne peut pas être utilisé avec les commutateurs /s et /u
  • /p Sollicite une confirmation de votre part avant de remplacer un fichier cible ou avant d'ajouter un fichier source.
  • /r Remplace les fichiers lecture seule ainsi que les fichiers non protégés. Si vous ne précisez pas ce commutateur. Toute tentative de remplacement d'un fichier lecture seule est traitée comme une erreur et le processus de remplacement est arrêté.
  • /s Cherche dans tous les sous répertoires du répertoire cible et remplace les fichiers qui correspondent. Ce commutateur ne peut pas être utilisé avec le commutateur /a. La commande replace ne recherche pas dans les sous-répertoire précisés dans chemin1.
  • /w Attend que vous placiez un disque dans l'unité avant de commencer à rechercher les fichiers sources. Si vous ne précisez pas ce commutateur, replace commence à remplacer ou ajouter les fichiers immédiatement après que vous aurez appuyé sur la touche ENTREE.
  • /u Remplace (met à jour) uniquement les fichiers du répertoire cible qui sont plus anciens que ceux du répertoire source. Ce commutateur ne peut pas être utilisé avec le commutateur /a

Remarques[modifier | modifier le wikicode]

Si vous disposez d'un système à disquette et qu'il vous faut changer de disquette pendant une opération de remplacement, vous pouvez préciser le commutateur /w pour que la commande replace s'arrête et attende que vous changiez de disquette avant de procéder au remplacement.

Vous ne pouvez pas utiliser cette commande pour mettre à jour des fichiers cachés ou des fichiers systèmes.

Exemple[modifier | modifier le wikicode]

replace a:\essai.001 c:\ /s

Pour mettre à jour tous les fichiers intitulé essai.001 qui se trouve sur le disque dur C par une version plus récente qui se trouve sur une disquette dans le lecteur A.


Rmdir

Introduction[modifier | modifier le wikicode]

Remove Directory

Commande interne DOS, elle permet de supprimer un répertoire vide.

Utilisation[modifier | modifier le wikicode]

RMDIR options chemin
RD options chemin du repertoire

Le chemin désigne le répertoire à supprimer.

Options[modifier | modifier le wikicode]

/S
Supprime tous les sous-répertoires et fichiers également.
/Q
Pas de confirmation avant la suppression si l'option /S est utilisée.

Exemples[modifier | modifier le wikicode]

rmdir /S /Q c:\temp
rd c:\data\cache


Robocopy

Robocopy est un logiciel de synchronisation de données en local ou sur un partage distant uniquement utilisable dans l' environnement Windows

Développé par Microsoft

Très facile à utiliser . Il possède beaucoup d' options . Les seules obligatoires sont les dossiers source et destination

options robocopy :

/R répétition des tentatives si erreurs

/W temps d' attention entre chaque tentative de synchro

/mir copie miroir

/np pas de barre de progression

/LOG le script créé un log qui permet de visualiser ce qui s'est passé pendant la synchro

/E

Des dossiers de la source peuvent etre exclus de la synchro avec une option spécifique

exemple de syntaxe :

robocopy /R:1 /W:1 "dossier_source_local_ou_distant" "\\dossier_destination_local_ou_distant" /mir /np /LOG:c:\logs.txt /E

Une info intéressante est la fin des logs :

la colonne FAILED comporte uniquement des 0 s' il n' y a pas d' erreurs pendant la synchro

               Total    Copied   Skipped  Mismatch    FAILED    Extras

    Dirs :     12001     12000         1         0         0         0

   Files :     99618     99615         0         0         3         0

   Bytes :  42.020 g  42.019 g      0         0   512.0 k         0

   Times :   4:24:42   4:04:24                       0:00:00   0:20:17

   Speed :             3076608 Bytes/sec.

   Speed :             176.044 MegaBytes/min.

   Ended : Fri Dec 01 00:42:02 2017


Rsh

Permet de lancer des commandes distantes sur un serveur Unix Syntaxe : rsh nom d'hote (-l utilisateur) (-n) commande


Set

Introduction[modifier | modifier le wikicode]

La commande SET permet d'afficher ou de modifier une variable d'environnement.

Il est à noter que toutes les versions de MSDOS ne supportent pas forcement les implémentations qui vont suivre. C'est surtout à partir de NT5 (W2000 XP W2003) que le CLI "Command Line Interpreter" commence vraiment à s'étoffer.

Utilisation[modifier | modifier le wikicode]

Affichage de variables[modifier | modifier le wikicode]

SET [nom de variable]

Si aucun nom de variable n'est indiqué, la commande affiche toutes les variables d'environnement avec leur contenu. Ceci est utile pour chercher une variable telle qu'un répertoire utilisateur.
Si un nom est indiqué, la commande liste toutes les variables commençant par ce nom

Affectation de variables[modifier | modifier le wikicode]

Les variables sont très utiles dans un environnement de script ou batch (un programme).

Affectation de chaînes[modifier | modifier le wikicode]

la commande SET permet d'affecter une valeur à une variable nommée. Exemple :

SET X=unechainedecaractère

la variable X vient d'être initialisée avec la valeur "unechainedecaractère".
Chaque instanciation de la console (on peut exécuter cmd.exe plusieurs fois simultanément sous Windows) possède son propre environnement (une zone mémoire) dans lequel sont stockées toutes les variables.

 @echo off
 cls
 echo.
 
 SET monnom=byby
 echo monnom : %monnom%
 rem permet d'initialiser et d'afficher la variable monnom sur la console à la valeur "byby".
 
 SET monprenom=titi
 echo monprenom : %monprenom% monnom : %monnom%
 
 SET nomcomplet=%monprenom% %monnom%
 echo nomcomplet : %nomcomplet%
 rem voilà la concaténation de deux variables en une seule
 pause
Attention !

Logo Contrairement à beaucoup d'autres langages de programmation, le signe égal de la déclaration ne peut pas être précédé ou suivi d'un espace.





Affectation d'expressions numériques[modifier | modifier le wikicode]

Le commutateur /A permet d'évaluer des expressions numériques. Par exemple:

SET /A X=3+2

Ceci affecte 5 à la variable d'environnement X. Si le commutateur n'était pas présent, X aurait pris la chaine 3+2 sans faire le calcul, et ce, quelle que soit l'utilisation ultérieure de la variable dans l'environnement.

Les expressions utilisent les caractères suivants:

( ) + - * / % << >> & ^ ,

Les opérandes constituant l'expression à calculer peuvent être écrits en notation décimale, hexadécimale ou octale. Cela peut générer des erreurs de calculs ou des messages d'erreur pas toujours très clairs.

SET /A A=1+0099

Retourne un message d'erreur :

Nombre non valide. Les constantes numériques doivent être 
soit décimales (17), soit hexadécimales (0x11), soit octales (021).

Tout nombre commençant par zéro (tel 0099) est considéré comme octal (chiffre de 0 à 7 inclus). Donc 8 et 9 ne peuvent apparaitre dans un tel nombre.

La commande correcte est la suivante :

SET /A A=1+99

Affectation utilisateur[modifier | modifier le wikicode]

Le commutateur /P permet d'initialiser une variable par une entrée clavier utilisateur.

SET /P variable=message

Cette commande affiche à l'écran le message, et attend que l'utilisateur donne une chaîne de caractères qui sera alors mémorisée dans la variable.

Suppression de variables[modifier | modifier le wikicode]

SET monnom=

Supprimera la variable "monnom" de l'environnement (la mémoire), en d'autres termes cela libèrera l'espace mémoire occupé par la variable.

Manipulation de variables[modifier | modifier le wikicode]

Pour récupérer la valeur d'une variable il suffit d'entourer son nom par des %. Par exemple:

SET monnom=Ceci est un essai

ECHO %monnom%

Il est possible de ne récupérer qu'une partie de la chaîne de caractère contenue dans une variable d'environnement. Par exemple :

ECHO %monnom:~5%

Ceci récupère la chaîne à partir du caractère 5 jusqu'à la fin

ECHO %monnom:~5,2%

Ceci récupère la chaîne à partir du caractère 5 jusqu'aux 2 caractères suivants.

Si la valeur indiquée est négative, cela signifie un indexage à partir de la fin de la chaine :

ECHO %monnom:~2,-2%

Ceci récupère la chaîne du 2ème caractère en partant du début jusqu'au 2ème caractère en partant de la fin.

Il est possible de rechercher un chaine dans une variable et de la remplacer par une autre :

SET chaine_resultante=%chaine_a_traiter:chaine_recherchée=[chaine_de_remplacement]%

Ainsi avec la commande suivante, il est possible d'éliminer l'extension .bat du nom d'un fichier :

set A="monfichierbatch.bat"
set A=%A:.bat=%

Variables prédéfinies[modifier | modifier le wikicode]

Lorsqu'une console de commandes DOS est lancée, certaines variables sont déjà définies.

Variables d'information système[modifier | modifier le wikicode]

Afin de connaître ces variables, il suffit de lister toutes les variables (dépendantes de l'OS) pour y repérer celles qui peuvent servir :

Nom de variable Signification
%PATH% Liste des répertoires où chercher les applications par défaut
%WINDIR% Répertoire de windows
%USERPROFILE% Répertoire utilisateur
%USERNAME% Nom de l'utilisateur
%TEMP% Répertoire temporaire
%OS% Nom de l'OS

Variables dynamiques[modifier | modifier le wikicode]

Certaines variables sont des variables dynamiques du système, c'est-à-dire que leur valeur est modifiée automatiquement selon les changements de contexte ou recalculée à chaque lecture.

Nom de variable Signification
%CD% Répertoire courant
%DATE% Date courante (même résultat que DATE /T)
%TIME% Heure courante (même résultat que TIME /T)
%RANDOM% Nombre pseudo-aléatoire compris entre 0 et 32767
%ERRORLEVEL% Erreur de la commande précédente

Les paramètres de commande[modifier | modifier le wikicode]

%0 %1 %2... %9 correspondent à la commande (%0) et aux arguments ou paramètres ou commutateurs (%1 à %9) qui suivent la commande (séparés par des espaces) %* contient l'ensemble des paramètres %1 à %9.

Ils permettent de passer des variables au sein d'un fichier batch (traitement par lot) introduit par l'utilisateur au moment du lancement de la commande (d'ou le nom de commutateur). A noter : %0 contient toujours le nom du fichier de commande qui est exécuté actuellement (tel qu'il a été saisi en ligne de commande ; ainsi, si on saisit "test" pour exécuter "c:\windows\system32\test.bat", $0 contiendra "test" seul).

Echo %0
Echo %*

Exemple[modifier | modifier le wikicode]

Le script suivant est un jeu montrant quelques utilisations de la commande SET

@ECHO OFF
CLS


SET /A val=%RANDOM%

SET /A val2=%val% / 1000
SET /A val=%val% - %val2% * 1000
SET /A val2=%val% / 100
SET /A val=%val% - %val2% * 100
SET /A val2=%val% / 10
SET /A val=%val% - %val2% * 10


SET /A nbEssais=3
ECHO Devinez un nombre compris entre 0 et 10
ECHO ---------------------------------------

:debut
SET /P n=Votre nombre : 

SET /A nbEssais-=1

IF %n%==%val% GOTO finGagne
IF %nbEssais%==0 GOTO finPerdu

ECHO ----- Perdu. Nouvel essai
GOTO debut

:finGagne
ECHO Bravo ! Vous avez gagné
GOTO fin

:finPerdu
ECHO Perdu ! Il fallait trouver %val%
GOTO fin

:fin
PAUSE

La première variable utilisée est val contenant la valeur à rechercher. Elle est initialisée avec la variable dynamique RANDOM que l'on divise par 1/10ème de la valeur maximale aléatoire possible, afin d'avoir un nombre compris entre 0 et 9.
La deuxième variable utilisée est nbEssais contenant le nombre d'essais laissés à l'utilisateur pour trouver le nombre. Elle est initialisée à 3 et décrémentée de 1 à chaque demande grâce à l'opérateur -=
La troisième variable utilisée est n contenant la valeur entrée par l'utilisateur. Cette variable est initialisée avec le commutateur /P afin de demander une entrée clavier.

Exemple 2[modifier | modifier le wikicode]

Il s'agit lors de la sauvegarde de toute ou partie du système de créer un nom de fichier unique structuré comme suit: NOMFICHIER_DATA_TIME_RANDOM

SET YYYYMMDD=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
REM inverse la variable %DATE% pour obtenir une date en Année mois jour bien plus facile à trier

for /F "tokens=1,2,3,4,5,6 delims==:.-/, " %%A in ("%TIME%") do SET MYTIME=%%A%%B%%C%%D%%E%%F
REM cette boucle permet de filtrer la variable %TIME% afin d'en éliminer tout caractère indésirable
REM dans un nom de fichier. On suppose que %TIME% se divise en 6 parties délimitées par [:.-/, ].
REM le nombre de parties et les délimiteurs n'ont pas à être exacts, il suffit qu'ils couvrent  
REM le problème.
     
SET FILEUID=NOMFICHIER_%YYYYMMDD%_%MYTIME%_%RANDOM%
REM enfin on rajoute un nombre aléatoire au nom du fichier afin de le rendre unique


Shift

Introduction[modifier | modifier le wikicode]

La commande SHIFT permet de faire un décalage des paramètres.

Dans un script, il est possible d'accéder aux paramètres de la ligne de commande en utilisant les variables %0, %1, %2, etc. L'appel de la commande SHIFT décale le contenu des variables dans la variable précédente, ainsi %0 contient ce que contenait %1, %1 contient ce que contenait %2, etc.

Ceci peut être utile pour lister et traiter tous les paramètres. Il suffit de ne lire que la variable %1 et de faire un appel à la commande SHIFT à chaque boucle.

Utilisation[modifier | modifier le wikicode]

SHIFT [/n]

n représente un nombre indiquant le paramètre à partir duquel le décalage des paramètres commence.

Exemple[modifier | modifier le wikicode]

Le script suivant affiche les informations sur les paramètres de la ligne de commande en bouclant sur ceux-ci.

@ECHO OFF

SET /A nbParams=0

ECHO Nom de la commande : %0

:debut_boucle
IF "%1"=="" GOTO fin_boucle

ECHO Paramètre courant : %1
SHIFT
SET /a nbParams+=1

GOTO debut_boucle
:fin_boucle

ECHO Nombre de paramètres : %nbParams%

Dans cet exemple, la boucle s'arrête lorsque le paramètre est un texte vide signifiant qu'il n'y a plus de paramètre.


Si les paramètres attendus par le batch sont des noms de fichier, pour éviter une erreur avec les noms de fichiers contenant des espaces sur la ligne de code

IF "%1"=="" 

Il faut passer par une variable intermédiaire et un test de l’existence de cette variable Comme ceci :

@ECHO OFF

SET /A nbParams=0

ECHO Nom de la commande : %0

:debut_boucle
SET ficparam1=%1
IF NOT DEFINED ficparam1 GOTO fin_boucle

ECHO Paramètre courant : %1
SHIFT
SET /a nbParams+=1

GOTO debut_boucle
:fin_boucle


Shutdown

La commande "Shutdown" permet d'éteindre un ordinateur, de fermer la session, ou de forcer des applications en cours à se fermer :

Si vous écrivez

shutdown

vous aurez l'équivalent de

shutdown /?

Le commutateur "s" éteint le système ;

r" le redémarre ;

"l" ferme la session ;

"t" permet de définir un délai en secondes, donc si vous écrivez :

shutdown -s -t 360

Le système s'éteindra dans 6 minutes .

Si vous voulez annuler une mise hors tension (par exemple dans le cas de la fixation d'un délai) vous pouvez utiliser l'option "a"

Si après la commande précédente (shutdown -s -t 360) vous voulez annuler la mise en hors tension du système, tapez

shutdown -a


Start

La commande start permet de spécifier et d’exécuter un programme.

Exemple :

pour l’exécution de l'invite de commande a partir d'un START, cela peut ce fait de deux manières

soit :

  • En indiquant le chemin d’accès du fichier ou programme
Start C:\Windows\System32\cmd.exe
  • En ajoutant directement le nom du Fichier ou programme a exécuter
Start cmd.exe

Pour l’exécution des programmes installer il faudra toujours y jouter le chemin d’accès

Il est plus prudent de toujours mettre l’extension du programme à exécuter.


Subst

Introduction[modifier | modifier le wikicode]

La commande SUBST est une commande externe (subst.exe) qui permet d'associer un chemin (lettre de lecteur et répertoire) à un lecteur virtuel (une lettre de lecteur non utilisée).

Le nouveau lecteur virtuel est donc une sorte de "raccourci" vers un répertoire. Le répertoire peut être local à la machine, ou distant.

Syntaxe[modifier | modifier le wikicode]

  1. Ajout d'une substitution : SUBST [lettre1: [lettre2:]répertoire]
  2. Suppression d'une substitution : SUBST lettre1: /D
  3. Liste des substitutions actuellement actives : SUBST

Avec :

  • lettre1:
   Lettre du nouveau lecteur virtuel à définir
  • [lettre2:]répertoire
   Chemin à associer à la lettre du lecteur virtuel (lettre1)
  • /D
   Option pour signifier la suppression.

Exemples[modifier | modifier le wikicode]

Exemple 1[modifier | modifier le wikicode]

Scénario simple : on créé une substitution sur le répertoire "C:\Program Files", puis on la supprime.

C:\>subst

C:\>subst w: "C:\Program Files"

C:\>w:

W:\>dir

Le volume dans le lecteur W n'a pas de nom.
Le numéro de série du volume est Bxxx-Axxx
Répertoire de W:\
20/02/2007 17:50 <REP> . 20/02/2007 17:50 <REP> .. 04/01/2006 11:23 <REP> Adobe 05/01/2006 11:46 <REP> AMD 05/01/2006 11:48 <REP> ATI Technologies ...etc 0 fichier(s) 0 octets 41 Rép(s) 123 246 986 864 octets libres

W:\>c:

C:\>dir "C:\Program Files"

Le volume dans le lecteur C n'a pas de nom.
Le numéro de série du volume est Bxxx-Axxx
Répertoire de C:\Program Files
20/02/2007 17:50 <REP> . 20/02/2007 17:50 <REP> .. 04/01/2006 11:23 <REP> Adobe 05/01/2006 11:46 <REP> AMD 05/01/2006 11:48 <REP> ATI Technologies ...etc 0 fichier(s) 0 octets 41 Rép(s) 123 246 986 864 octets libres

C:\>subst w: C:\WINDOWS
Lecteur déjà affecté par SUBST

C:\>subst w: /D

C:\>subst

C:\>

On voit que la commande dir "C:\Program Files" et dir seule sur le lecteur W:\ donnent le même résultat : il s'agit bien du même répertoire.

Exemple 2[modifier | modifier le wikicode]

Substitution d'un répertoire partagé sur une autre machine (substitution réseau).

C:\>subst W: "\\machine.domaine.fr\Répertoire partagé"

C:\>subst
W:\: => UNC\machine.domaine.fr\Répertoire partagé

C:\>subst w: /D

C:\>subst

C:\>


Time

Introduction[modifier | modifier le wikicode]

La commande TIME permet de modifier l'heure système, ou simplement de la lire.

Utilisation[modifier | modifier le wikicode]

TIME [/T | heure]

Si aucun paramètre n'est spécifié, la commande demande à l'utilisateur la nouvelle heure.

Le commutateur /T permet d'afficher l'heure courante sans rien demander (aucune attente).

Si une heure est spécifiée en paramètre, l'heure système est modifiée.

Résultat[modifier | modifier le wikicode]

C:\>time
L'heure actuelle est :  9:57:37,70
Entrez la nouvelle heure :

Exemple[modifier | modifier le wikicode]

Le script suivant récupère le retour de TIME /T grâce à la commande For et découpe la ligne suivant les caractères : pour ne récupérer que certaines informations.

 @ECHO OFF
 
 FOR /F "usebackq tokens=1,2 delims=:" %%A in (`TIME /T`) DO (
   ECHO Heure: %%A
   ECHO Minutes: %%B
 )

Le script suivant récupère le retour de %TIME% grâce à la commande For et découpe la ligne suivant les caractères : pour ne récupérer que certaines informations. Note, ce script ne permet pas de récupérer l'heure sur 2 digits contrairement à l'autre.

 @ECHO OFF
 
 FOR /F "usebackq tokens=1-4 delims=: " %%A in (`echo %TIME%`) DO (
   ECHO Heure: %%A
   ECHO Minutes: %%B
   ECHO Secondes: %%C
   ECHO MSecondes: %%D
 )

Voir aussi[modifier | modifier le wikicode]


Timeout

Introduction[modifier | modifier le wikicode]

Cette commande crée un délai d'attente spécifié en secondes (abrégeable par une frappe de touche. Notons qu'un paramètre peut empêcher cet abrègement.).


Syntaxe[modifier | modifier le wikicode]

TIMEOUT [/T] délai d'attente [/NOBREAK]


Options[modifier | modifier le wikicode]

/T
Spécifie le délai d'attente (en secondes.). Ce délai peut aller de -1 à 99999 secondes.
/NOBREAK
Fait ignorer à la commande tout appui de touche jusqu'à la fin du délai. Notez toutefois que la combinaison de touches ConTRoL+C peut annuler le délai.


Exemples[modifier | modifier le wikicode]

 TIMEOUT /T 300 
 TIMEOUT /T 30 /NOBREAK
 TIMEOUT /T -1


Remarque: Un délai d'attente égal à -1 secondes signifie qu'une frappe de touche est attendue.

 TIMEOUT /T -1 /NOBREAK

Cet exemple requiert que l'on entre la combinaison de touches ConTRoL+C.


Title

Introduction[modifier | modifier le wikicode]

Commande interne DOS, elle permet de modifier le titre de la fenêtre de l'interpréteur.

Utilisation[modifier | modifier le wikicode]

TITLE titre

Exemple[modifier | modifier le wikicode]

TITLE Ceci est ma fenêtre !


Tree

Commande Fichier Batch - TREE Affiche une carte de répertoire graphique

Crée une carte graphique de répertoires et sous répertoires. La structure affichée par arbre dépend des paramètres que vous spécifiez sur la ligne de commande.

Syntaxe

tree[Lecteur:] [Chemin] [/f] [/a]

paramètres

Entraînement : indique le lecteur qui contient le disque pour lequel vous souhaitez afficher le répertoire structure.

Chemin d'accès : indique le répertoire pour lequel vous voulez afficher la structure de répertoire.

/f : affiche les noms des fichiers dans chaque répertoire.

/a : indique que l'arbre est d'utiliser des caractères de texte à la place de caractères graphiques pour montrer les lignes reliant sous-répertoires.

Par exemple, utiliser un dossier comme C:\WINDOWS\TEMP ou C:\WINNT\TEMP de sorte que vous ne serez pas submergé en le testant.

TREE/F affichera les noms de fichiers en plus de répertoires.

Pour envoyer la sortie vers un fichier texte : TREE /A> mymap.txt. L'/ A utilisera formatage simple qui va mieux lire dans le fichier de sortie.

Exemples

Pour afficher, un écran à la fois, les fichiers dans tous les répertoires sur le lecteur C, tapez :

TREE c: \/f | more

Pour imprimer la même liste que l'exemple précédent affiche, Type: TREE c: \/f prn


Type

Description[modifier | modifier le wikicode]

TYPE est la commande interne qui permet d'afficher le contenu des fichiers.

Utilisation[modifier | modifier le wikicode]

TYPE chemin

Cette commande ne tient pas compte des attributs du fichier. C'est à dire qu'elle permet d'afficher le contenu de fichiers cachés.


Ver

Introduction[modifier | modifier le wikicode]

Version information

Commande interne DOS, elle affiche la version de l'interpréteur.

Utilisation[modifier | modifier le wikicode]

VER

Exemple[modifier | modifier le wikicode]

C:\>VER

Microsoft Windows 2000 [Version 5.00.2195]


Vol

Introduction[modifier | modifier le wikicode]

Volume name

La commande VOL permet d'obtenir les informations de nom et numéro de série d'une partition.

Utilisation[modifier | modifier le wikicode]

VOL [lecteur]

Si le lecteur n'est pas présent, la commande retourne les informations de la partition dans laquelle se trouve le répertoire courant.

Exemples[modifier | modifier le wikicode]

VOL
VOL D:

Le script suivant permet d'isoler le nom et le numéro de série grâce à la commande DOS/For

@ECHO OFF

SET /A ligneCourante=0

FOR /F "usebackq tokens=7* delims= " %%A in (`VOL %1`) DO (
  
  IF %ligneCourante%==0 (
    
    ECHO Nom: %%B
    
  ) ELSE (
    
    ECHO Série: %%B
    
  )
  
  SET /A ligneCourante+=1
)

La commande VOL retournant deux lignes, la variable %ligneCourante% permet d'identifier sur quelle ligne le FOR se trouve. Le découpage se fait sur les mots, et c'est à partir du 8ème mot pour les deux lignes qu'apparaissent les données intéressantes (en français).

GFDL GFDL Vous avez la permission de copier, distribuer et/ou modifier ce document selon les termes de la licence de documentation libre GNU, version 1.2 ou plus récente publiée par la Free Software Foundation ; sans sections inaltérables, sans texte de première page de couverture et sans texte de dernière page de couverture.