interpréteur de commandes Windows : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Page créée avec « La commande '''CMD''' ou '''cmd''' démarre une nouvelle instance de l'interpréteur de commandes de Windows 2000, XP, Vista, 7, 8 et 8.1 Ses paramètres sont : CMD [/A ... »)
 
Ligne 1 : Ligne 1 :
La commande '''CMD''' ou '''cmd''' démarre une nouvelle instance de l'interpréteur de commandes de Windows 2000, XP, Vista, 7, 8 et 8.1
+
[[Catégorie:Windows]]
 +
 
 +
<html>
 +
<script type="text/javascript"><!--
 +
google_ad_client = "ca-pub-3341840374417340";
 +
/* VT2 */
 +
google_ad_slot = "6349432125";
 +
google_ad_width = 468;
 +
google_ad_height = 60;
 +
//-->
 +
</script>
 +
<script type="text/javascript"
 +
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
 +
</script>
 +
</html>
 +
<br/>
 +
 
 +
La commande '''CMD''' ou '''cmd''' démarre une nouvelle instance de l'interpréteur de commandes de '''[[Windows]] 2000, XP, Vista, 7, 8''' et '''8.1'''
  
 
Ses paramètres sont :
 
Ses paramètres sont :
Ligne 6 : Ligne 23 :
 
  /C Exécute la commande donnée par la chaîne de caractères puis se termine
 
  /C Exécute la commande donnée par la chaîne de caractères puis se termine
 
  /K Exécute la commande donnée par la chaîne de caractères puis reste actif
 
  /K Exécute la commande donnée par la chaîne de caractères puis reste actif
  /S Modifie le traitement de la chaîne après /C ou /K (voir ci-dessous)
+
  /S Modifie le traitement de la chaîne après '''/C''' ou '''/K''' (voir ci-dessous)
 
  /Q Exécute (sans interactions) la commande donnée puis reste actif
 
  /Q Exécute (sans interactions) la commande donnée puis reste actif
  /D Désactive l'exécution de AutoRun à partir du Registre (voir ci-dessous)
+
  /D Désactive l'exécution de '''AutoRun''' à partir du '''[[Registre]]''' (voir ci-dessous)
  /A Redirige la sortie de commandes internes vers un canal ou un fichier ANSI
+
  /A Redirige la sortie de commandes internes vers un canal ou un fichier '''ANSI'''
  /U Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE
+
  /U Redirige la sortie de commandes internes vers un canal ou un fichier '''UNICODE'''
 
  /T:fg, Change la couleur du premier ou de l'arrière plan (voir aussi COLOR /?)
 
  /T:fg, Change la couleur du premier ou de l'arrière plan (voir aussi COLOR /?)
 
  /E:ON Active les extensions de commande (voir ci-dessous)
 
  /E:ON Active les extensions de commande (voir ci-dessous)
Ligne 16 : Ligne 33 :
 
  /F:ON Active les caractères de fin des noms de fichiers et de répertoires (voir ci-dessous)
 
  /F:ON Active les caractères de fin des noms de fichiers et de répertoires (voir ci-dessous)
 
  /F:OFF Désactive les caractères de fin des noms de fichiers et de répertoires (voir ci-dessous)
 
  /F:OFF Désactive les caractères de fin des noms de fichiers et de répertoires (voir ci-dessous)
  /V:ON Active l'expansion retardée des variables d'environnement en utilisant c comme délimitation. Par exemple, /V:ON permet à !var! de développer la variable var à l'exécution. La syntaxe var développe les variables lorsqu'elles sont entrées, ce qui est différent lorsque utilisé à l'intérieur d'une boucle FOR.
+
  /V:ON Active l'expansion retardée des variables d'environnement en utilisant c comme délimitation.  
 +
Par exemple, /V:ON permet à !var! de développer la variable var à l'exécution. La syntaxe var développe les variables  
 +
lorsqu'elles sont entrées, ce qui est différent lorsque utilisé à l'intérieur d'une boucle '''FOR'''.
 
  /V:OFF Désactive l'expansion retardée des variables d'environnement.
 
  /V:OFF Désactive l'expansion retardée des variables d'environnement.
  
Les commandes multiples séparées par le séparateur '&&' sont acceptées comme une chaîne si elles sont entre quotes. Pour des raisons de compatibilité, /X est identique à /E:ON, /Y est pareil que /E:OFF et /R est identique à /C. Toute autre option est ignorée.
+
Les commandes multiples séparées par le séparateur '''&&''' sont acceptées comme une chaîne si elles sont entre guillemets. Pour des raisons de compatibilité, '''/X''' est identique à '''/E:ON''', '''/Y''' est pareil que '''/E:OFF''' et '''/R''' est identique à '''/C'''. Toute autre option est ignorée.
  
Si /C ou /K est indiqué, alors le reste de la ligne de commande est traité avec la logique suivante pour prendre en compte les quotes (") :
+
Si '''/C''' ou '''/K''' est indiqué, alors le reste de la ligne de commande est traité avec la logique suivante pour prendre en compte les guillemets (") :
  
1. Si toutes les conditions suivantes sont respectées, alors les quotes de la ligne de commande sont conservés :
+
1. Si toutes les conditions suivantes sont respectées, alors les guillemets de la ligne de commande sont conservés :
  
* pas d'option /S
+
* pas d'option '''/S'''
* exactement deux caractères quote
+
* exactement deux caractères guillemet
* aucun caractère spécial entre les deux caractères quote, un caractère spécial étant : &<>()@^|
+
* aucun caractère spécial entre les deux caractères guillemet, un caractère spécial étant : &<>()@^|
* il y a un ou plusieurs espaces entre les deux caractères quote
+
* il y a un ou plusieurs espaces entre les deux caractères guillemet
* la chaîne comprise entre les deux quotes est le nom d'un fichier exécutable.
+
* la chaîne comprise entre les deux guillemets est le nom d'un fichier exécutable.
  
2. Dans le cas contraire, l'ancien comportement vérifiera si le premier caractère est un caractère quote et si tel est le cas, enlèvera le premier caractère et le dernier caractère quote de la ligne de commande, préservant tout texte se trouvant après le dernier caractère quote.
+
2. Dans le cas contraire, l'ancien comportement vérifiera si le premier caractère est un caractère guillemet et si tel est le cas, enlèvera le premier caractère et le dernier caractère guillemet de la ligne de commande, préservant tout texte se trouvant après le dernier caractère guillemet.
  
 
Si '''/D''' n'a PAS été spécifié dans la ligne de commande, alors '''CMD.EXE''' démarrera en recherchant les variables du '''Registre REG_SZ/REG_EXPAND_SZ''' suivantes et si l'une ou les deux sont présentes, elles seront exécutées en priorité.
 
Si '''/D''' n'a PAS été spécifié dans la ligne de commande, alors '''CMD.EXE''' démarrera en recherchant les variables du '''Registre REG_SZ/REG_EXPAND_SZ''' suivantes et si l'une ou les deux sont présentes, elles seront exécutées en priorité.
Ligne 110 : Ligne 129 :
  
 
Le code de terminaison traite correctement les noms de fichiers contenant des espaces ou d'autres caractères spéciaux, en plaçant des quotes autour des chemins correspondants. En rappelant le curseur et en appelant ensuite la terminaison, le texte à droite du curseur lorsque la terminaison est demandée est ignoré.
 
Le code de terminaison traite correctement les noms de fichiers contenant des espaces ou d'autres caractères spéciaux, en plaçant des quotes autour des chemins correspondants. En rappelant le curseur et en appelant ensuite la terminaison, le texte à droite du curseur lorsque la terminaison est demandée est ignoré.
 +
 +
= Commentaires =
 +
{{#widget:DISQUS
 +
|id=vulgumtechus
 +
}}

Version du 19 mars 2014 à 17:46



La commande CMD ou cmd démarre une nouvelle instance de l'interpréteur de commandes de Windows 2000, XP, Vista, 7, 8 et 8.1

Ses paramètres sont :

CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF][[/S] [/C | /K] chaîne]
/C Exécute la commande donnée par la chaîne de caractères puis se termine
/K Exécute la commande donnée par la chaîne de caractères puis reste actif
/S Modifie le traitement de la chaîne après /C ou /K (voir ci-dessous)
/Q Exécute (sans interactions) la commande donnée puis reste actif
/D Désactive l'exécution de AutoRun à partir du Registre (voir ci-dessous)
/A Redirige la sortie de commandes internes vers un canal ou un fichier ANSI
/U Redirige la sortie de commandes internes vers un canal ou un fichier UNICODE
/T:fg, Change la couleur du premier ou de l'arrière plan (voir aussi COLOR /?)
/E:ON Active les extensions de commande (voir ci-dessous)
/E:OFF Désactive les extensions de commande (voir ci-dessous)
/F:ON Active les caractères de fin des noms de fichiers et de répertoires (voir ci-dessous)
/F:OFF Désactive les caractères de fin des noms de fichiers et de répertoires (voir ci-dessous)
/V:ON Active l'expansion retardée des variables d'environnement en utilisant c comme délimitation. 
Par exemple, /V:ON permet à !var! de développer la variable var à l'exécution. La syntaxe var développe les variables 
lorsqu'elles sont entrées, ce qui est différent lorsque utilisé à l'intérieur d'une boucle FOR.
/V:OFF Désactive l'expansion retardée des variables d'environnement.

Les commandes multiples séparées par le séparateur && sont acceptées comme une chaîne si elles sont entre guillemets. Pour des raisons de compatibilité, /X est identique à /E:ON, /Y est pareil que /E:OFF et /R est identique à /C. Toute autre option est ignorée.

Si /C ou /K est indiqué, alors le reste de la ligne de commande est traité avec la logique suivante pour prendre en compte les guillemets (") :

1. Si toutes les conditions suivantes sont respectées, alors les guillemets de la ligne de commande sont conservés :

  • pas d'option /S
  • exactement deux caractères guillemet
  • aucun caractère spécial entre les deux caractères guillemet, un caractère spécial étant : &<>()@^|
  • il y a un ou plusieurs espaces entre les deux caractères guillemet
  • la chaîne comprise entre les deux guillemets est le nom d'un fichier exécutable.

2. Dans le cas contraire, l'ancien comportement vérifiera si le premier caractère est un caractère guillemet et si tel est le cas, enlèvera le premier caractère et le dernier caractère guillemet de la ligne de commande, préservant tout texte se trouvant après le dernier caractère guillemet.

Si /D n'a PAS été spécifié dans la ligne de commande, alors CMD.EXE démarrera en recherchant les variables du Registre REG_SZ/REG_EXPAND_SZ suivantes et si l'une ou les deux sont présentes, elles seront exécutées en priorité.

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun et/ou 
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Les extensions de commandes' sont activées par défaut. Il est possible de les désactiver pour une exécution particulière en utilisant l'option /E:OFF. Pour les activer ou désactiver pour toutes les exécutions de CMD.EXE sur une machine ou pour un utilisateur il faut fixer l'une ou les deux valeurs REG_DWORD suivantes du Registre :

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions

et/ou

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions

soit à 0x1 ou 0x0 (en utilisant REGEDT32.EXE). Les paramètres spécifiques de l'utilisateur sont prioritaires sur ceux de la machine. Les options de la ligne de commande ont préséance sur les paramètres du Registre.

Les extensions de commandes impliquent des modifications ou des additions dans les commandes suivantes :

DEL ou ERASE
COLOR
CD ou CHDIR
MD ou MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (inclut également des modifications dans l'appel externe de commande)
ASSOC
FTYPE

Pour obtenir des détails spécifiques, tapez /? Nom_de_commande

L'expansion retardée de variables d'environnement Windows n'est PAS activée par défaut. Pour l'activer ou la désactiver pour une utilisation particulière de CMD.EXE utiliser l'option /F:ON ou /F:OFF. Pour l'activer ou la désactiver pour toute utilisation de CMD.EXE sur un ordinateur ou pour un utilisateur en fixant avec REGEDT32.EXE utiliser l'une ou les deux valeurs REG_DWORD suivantes du Registre :

HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\DelayedExpansion

et/ou

HKEY_CURRENT_USER\Software\Microsoft\Command 
Processor\DelayedExpansion

à la valeur 0x1 ou 0x0. Les paramètres spécifiques à l'utilisateur sont prioritaires sur les paramètres de l'ordinateur. Les options de la ligne de commande ont priorité sur les paramètres du Registre.

Si l'expansion retardée de variables d'environnement Windows est activée, un point d'exclamation peut être utilisé pour remplacer la valeur d'une variable d'environnement lors de l'exécution.

La terminaison des noms de fichiers et de répertoires n'est PAS activée par défaut. Pour l'activer ou la désactiver pour une instance particulière de CMD.EXE utiliser l'option /F:ON ou /F:OFF. Pour l'activer ou la désactiver pour toutes les instances de CMD.EXE sur un ordinateur ou pour un utilisateur en fixant avec REGEDT32.EXE utiliser l'une ou les deux valeurs REG_DWORD suivantes du Registre :

HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command
Processor\PathCompletionChar

et/ou

HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command
Processor\PathCompletionChar

à la valeur hexadécimale d'un caractère de contrôle à utiliser pour une fonction particulière (par exemple : 0x4 représente Ctrl + D et 0x6, Ctrl + F. Les paramètres spécifiques de l'utilisateur sont prioritaires sur ceux de l'ordinateur. Les options de la ligne de commande ont préséance sur les paramètres du Registre.

Si la terminaison est activée avec l'option /F:ON, les deux caractères de contrôle utilisés sont Ctrl+D pour la terminaison des noms de répertoire et Ctrl + F pour la terminaison des noms de fichiers. Pour désactiver un caractère de terminaison particulier dans le Registre, utiliser la valeur pour l'espace (0x20) qui n'est pas valide en tant que caractère de contrôle.

La terminaison est appelée lorsque est entré l'un des deux caractères de contrôle. La fonction de terminaison prend le chemin figurant à gauche du curseur, y ajoute un caractère générique s'il n'y en a pas déjà et crée une liste des chemins correspondants. Cette fonction affiche ensuite le premier chemin de la liste. Si aucun chemin ne correspond, elle émet un son et n'affiche rien. Ensuite, si le même caractère de contrôle est pressé plusieurs fois, les chemins successifs correspondants de la liste précédente seront affichés. En pressant la touche Majuscule et le caractère de contrôle, la liste sera dans le sens contraire. Si la ligne est modifiée de quelque façon que ce soit et que le caractère de contrôle est pressé, la liste enregistrée de chemins correspondants est ignorée et une nouvelle liste est générée. De même, une nouvelle liste sera créée en passant de la terminaison des noms de fichiers à celle des noms de répertoires. La seule différence entre les deux caractères de contrôle est que la terminaison des noms de fichiers fonctionne pour les noms de fichiers et les noms de répertoires alors que la terminaison des noms de répertoires ne marche que pour les noms de répertoires. Si la terminaison des noms de fichiers est utilisée sur des commandes de répertoires internes (CD, MD ou RD) alors la terminaison des noms de répertoires est active.

Le code de terminaison traite correctement les noms de fichiers contenant des espaces ou d'autres caractères spéciaux, en plaçant des quotes autour des chemins correspondants. En rappelant le curseur et en appelant ensuite la terminaison, le texte à droite du curseur lorsque la terminaison est demandée est ignoré.

Commentaires

blog comments powered by Disqus