« Cmd.exe » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
m agaçant de devoir relire ligne par ligne... D'autre part, il reste plein de phrases en anglais, pour qui sait traduire...
m orthographe
Ligne 10 : Ligne 10 :
Il existe maintenant deux modes :
Il existe maintenant deux modes :
*Un mode interactif
*Un mode interactif
*Un mode éxécution de scripts
*Un mode exécution de scripts


Dans le mode interactif, l'utilisateur tape les commandes qui sont exécutées immédiatement. Le mode script exécute une séquence de commandes définies dans un fichier, batch programs (contrast to [[Unix shell]] scripts), stored as a text file with the extension .bat. The original concepts for both functionalities draw ideas from Unix shells, as well as other text based command line interfaces in use in the early 1980s, e.g. [[CP/M]].
Dans le mode interactif, l'utilisateur tape les commandes qui sont exécutées immédiatement. Le mode script exécute une séquence de commandes définies dans un fichier, batch programs (contrast to [[Unix shell]] scripts), stored as a text file with the extension .bat. The original concepts for both functionalities draw ideas from Unix shells, as well as other text based command line interfaces in use in the early 1980s, e.g. [[CP/M]].

Version du 21 novembre 2004 à 19:44

Cette page est considérée comme une ébauche à compléter . Si vous possédez quelques connaissances sur le sujet, vous pouvez les partager en éditant dès à présent cette page (en cliquant sur le lien « modifier »).

Ressources suggérées : Aucune (vous pouvez indiquer les ressources que vous suggérez qui pourraient aider d'autres personnes à compléter cette page dans le paramètre « ressources » du modèle? engendrant ce cadre)

Sur le système d'exploitation MS-DOS, un fichier batch est un fichier texte contenant une série de commandes (Voir Interface des lignes de commandes). Quand le fichier batch est lancé, de la même manière (d'un point de vue utilisateur) qu'un exécutable ordinnaire, les commandes du fichier sont exécutées dans l'ordre. Un fichier batch est l'équivalent d'un shell script sous Unix ou cygwin.

Les fichiers batch du DOS sont les fichiers dotés de l’extension .BAT. Si un fichier nommé AUTOEXEC.BAT existe au démarrage du système, il est exécuté.

Le comportement par défaut de command.com est d'afficher chaque commande sur la sortie standard avant de l'exécuter. C'est souvent non désiré, la commande ECHO OFF est souvent donnée au début d'un fichier batch . Command.com interprète également le @, pour prefixer une seule commande de s'afficher. Donc, beaucoup de fichiers batch commencent par la ligne @ECHO OFF.

Histoire et évolutions

Microsoft operating system batch programming has evolved along with the product releases of these operating systems. Command interpreters are provided with these operating systems that provide two distinct modes of work. Il existe maintenant deux modes :

  • Un mode interactif
  • Un mode exécution de scripts

Dans le mode interactif, l'utilisateur tape les commandes qui sont exécutées immédiatement. Le mode script exécute une séquence de commandes définies dans un fichier, batch programs (contrast to Unix shell scripts), stored as a text file with the extension .bat. The original concepts for both functionalities draw ideas from Unix shells, as well as other text based command line interfaces in use in the early 1980s, e.g. CP/M.

A l'origine, le système MS-DOS fournit un interpréteur : command.com. Les programmes batch pour MS-DOS sont composés d'un ensemble relativement simple d'ensemble de commandes interprétées directement par command.com (commande interne) et des utilitaires qui existent en tant qu'exécutables séparés (commande externe). The evolution of this branch of batch programming proceeded through the releases of MS-DOS, and into Windows 95, Windows 98 and finally Windows ME.

The newest Microsoft Windows versions, Windows 2000 and XP, are not based on MS-DOS, but on Windows NT, introduced before MS-DOS 6.0. In NT systems, a native MS-DOS environment is absent, but included is a MS-DOS compatible CLI (Command Line Interface), resembling a MS-DOS prompt. Some MS-DOS features are not available, but there are many additional features and commands not included with MS-DOS or MS-DOS based versions of Windows.

Various non-Microsoft command interpreters exist that provide enhanced batch program command syntax. An example of these is the 4DOS product.

Several non-Microsoft implementations of batch compilers exist to convert batch programs to directly executable programs. The quality-of-implementation of these compilers varies widely.

The IBM OS/2 operating system contains a text based command facility that is related to the ones supplied with Microsoft operating systems.

Commande internes

ECHO

Équivalent de l'echo des shell unix. Affiche une chaîne sur la sortie.

REM et  ::

Commentaire. Équivalent du # dans les scripts unix.

* SET

Sert à modifier des variables d'environnement. Équivalent de set et export sous bash

* FOR

Sorte de for. À la différence d'unix, on ne peut exécuter qu'une commande dans la boucle! Et il n'y a pas d'appel de fonctions !

* SHIFT

Décale les arguments. Équivalent du shift de bash.

* GOTO

Permet de faire de la programmation non structuré. Dans les scripts unix, on préfère utiliser les boucles, les switch, et des fonctions.

* IF

Le if connu de tous les programmeurs.

* START

Permet de lancer un processus asynchrone. Sous windows,

start netscape 

est équivalent à la commande unix

netscape &

Exemple

:: Start Vim on a copy of the tutor file.
@echo off  
:: Usage: vimtutor [-console] [xx]
::
:: -console means gvim will not be used
:: xx is a language code like "es" or "nl".
:: When an xx argument is given, it tries loading that tutor.
:: When this fails or no xx argument was given, it tries using 'v:lang'
:: When that also fails, it uses the English version. 
:: Use Vim to copy the tutor, it knows the value of $VIMRUNTIME
FOR %%d in (. %TMP% %TEMP%) DO IF EXIST %%d\nul SET TUTORCOPY=%%d\$tutor$ 
SET xx=%1
IF NOT .%1==.-console GOTO use_gui
SHIFT
SET xx=%1
GOTO use_vim
:use_gui  
:: Try making a copy of tutor with gvim. If gvim cannot be found, try using
:: vim instead. If vim cannot be found, alert user to check environment and
:: installation. 
:: The script tutor.vim tells Vim which file to copy.
:: For Windows NT "start" works a bit differently.
IF .%OS%==.Windows_NT GOTO ntaction 
start /w gvim -u NONE -c "so $VIMRUNTIME/tutor/tutor.vim"
IF ERRORLEVEL 1 GOTO use_vim
:: Start gvim without any .vimrc, set 'nocompatible'
start /w gvim -u NONE -c "set nocp" %TUTORCOPY%

Liens externes