Microsoft Disk Operating System

Transcription

Microsoft Disk Operating System
Université Pierre Mendès France
U.F.R. Sciences de l’Homme et de la Société
Licence MASS 3e année
TP4 : Windows et son langage de commande
Fichiers de commande
1 Rappels
Script
Les scripts sont des programmes qui permettent d’automatiser certaines tâches répétitives telles que
l’administration ou les sauvegardes de fichiers. Ce sont des fichiers texte avec l’extension .bat.Ils
contiennent les mêmes commandes que celles exécutées en ligne de commande, plus
éventuellement des commandes de branchement à des étiquettes (goto), et des appels à d’autres
scripts (call). Un script contient une commande par ligne. Il peut être paramétré.
Exécuter un script Batch
Pour exécuter un script Batch, il suffit de taper le nom de ce fichier dans la fenêtre de commandes.
L’interprète exécute les commandes de manière séquentielle, dans l’ordre où elles apparaissent dans
le fichier. Il n’est pas nécessaire de taper l’extension .bat du fichier.
La variable PATH
Pour pouvoir exécuter un programme, le système d’exploitation doit pouvoir retrouver le fichier
correspondant à cette commande. C’est la variable d’environnement PATH qui contient la liste des
répertoires que l’interprète explore pour trouver un programme à exécuter, s’il n’est pas dans le
répertoire courant.
2
Scripts à écrire pendant la séance de TD
2.1 Alarme
Le but de cet exercice est de programmer une petite alarme qui affiche un message à l'écran à une
heure précise. Pour cela, on va utiliser la commande AT. Cette commande Windows permet de lancer
l'exécution d'une commande à une heure précise. La syntaxe est at <heure> <commande>. Par
exemple,
at 22:00 toto
lance la commande toto à 22h.
On va utiliser notepad comme moyen d'afficher le message. Comme on veut afficher un message à
l'utilisateur, on doit utiliser l'option /interactive. Ainsi cette commande lance le bloc-notes à 22h :
at 22:00 /interactive notepad
Ecrire un fichier alarme.bat qui prend en paramètre un nombre de minutes N ainsi qu'un message et
qui affiche le message au bout de N minutes. Par exemple :
alarme 60 ''va manger, le TP est fini''
Pour cela, votre script doit écrire le message dans un fichier et passer ce dernier en paramètre à la
commande notepad, elle-même placée dans un at. Comme at prend en paramètre une heure de
déclenchement et pas un délai, il vous faudra ajouter le nombre de minutes indiqué par l'utilisateur à
l'heure courante pour connaître l'heure de déclenchement. Vous pourrez utiliser :
• %time% pour connaître l'heure courante
• <chaine>:~<debut>,<nombre de caracteres>% pour extraire une sous-chaîne d'une chaîne. Par
exemple pour récupérer 2 caractères à partir du 3e dans la chaîne de nom machaine :
set souschaine=%machaine:~3,2%
• set /a <variable> = <calcul> pour pouvoir faire des calculs. Par exemple :
set /a x=%x% + %y% - 50
2.2 Sauvegarde de fichiers
Programmez la commande supp qui permet de supprimer un fichier tout en sauvegardant une copie
dans un répertoire spécifique (question 9 du TP1). Cette commande prend en paramètre un nom de
fichier et le déplace dans un répertoire dont le chemin est contenu dans la variable d'environnement
%POUBELLE. Prévoyez de gérer les erreurs éventuelles (fichier inexistant, variable inexistante, etc.).