Q. Qu'est-ce qu'un fichier de commandes?
A. Un fichier de commande est un fichier texte, doté d'une extension .bat ou .cmd, avec une syntaxe et un ensemble de commandes conformes. Pour exécuter un fichier de commande, tapez le nom du fichier, on peut ne pas préciser les extensions .cmd et .bat. Le fichier de commandes suivant écrira "Hello World".
Q. Quels sont les commandes pouvant être utilisées dans un fichier de commandes?
A. Windows NT 4.0 a inauguré quelques extensions à cmd.exe, mais assurez-vous que HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions est positionné à 1. Voici une liste de commandes :
call <Fichier de commande> | Appelle un fichier de commande à partir d'un autre. L'exécution du fichier courant est suspendu tant que le fichier appelé n'est pas terminé. |
exit | Arrête l'exécution d'un fichier. Si un fichier est appelé à partir d'un autre et qu'on utilise exit les deux fichiers sont arrêtés. |
findstr <string> <filename(s)> | Pour rechercher une chaîne de caractère dans un fichier. Cette commande dispose de beaucoup d'options et est puissante. |
for | Commande standard pou les boucles for /L %n IN (1,1,10) DO @ECHO %n affiche 1 à 10 à l'écran |
goto <label> | Permet d'aller à un endroit donner du fichier. La déclaration du label
doit être précéder de deux points (:) goto label1 |
if <condition> .. | If permet beaucoup de choses. Une des utilisations les plus courantes est
: if /i <string1> <compare> <string2> <command> Le /i fait la comparaison sans tenir compte de la casse et compare peut être choisit parmi : EQU égal NEQ différent LSS inférieur LEQ inférieur ou égal GTR supérieur GEQ supérieur ou égal if errorlevel if exists <file name> |
rem <string> | Pour des commentaires |
start <window title> <command> | Lance une autre fenêtre de commande et exécute la commande. Contrairement à call, le fichier de commande en cours n'est pas interrompu et continu de s'exécuter. |
Il y a d'autres utilitaires fournis avec le Resource Kit qui sont très utiles.
Q. Comment déclencher une action suite à la création d'un fichier ?
A. C'est un besoin courant des utilisateurs qui envoient par FTP des fichiers et
qui souhaiteraient qu'une action soit déclenchée après l'arrivé du fichier.
Voici un fichier de commande qui permet cela :
:filecheck
if exist e:\upload\file.txt goto actionfile
sleep 100
goto filecheck
:actionfile
...
Ce fichier vérifie le fichier file.txt toutes les 100 secondes. Le programme sleep.exe est fourni dans le Resource Kit, il vous faut l'installer pour l'utiliser.
Q. Comment accéder à des fichiers situés sur d'autres machines?
A. Vous pouvez utiliser la convention de nommage UNC , e.g. \\<server name>\<share name>\<dir>\<file>. Vous pouvez aussi connecter un lecteur, et utiliser ce lecteur pour accéder aux fichiers, puis déconnecter le lecteur, e.g.
net use g: \\savilltech\filetosee
... g:\dir\file.txt
net use g: /d
Q. Comment envoyer un message à partir d'un fichier de commandes?
A. Avec la commande NET SEND, e.g.
net send <machine> "<message>"