Fichier BATCH, bases de programmation 1 Notions de base

Transcription

Fichier BATCH, bases de programmation 1 Notions de base
Fichier BATCH, bases de programmation
1
Notions de base sur la programmation
L’acquisition de bonnes habitudes de programmation par des programmeurs
débutants n’est ni spontanée, ni naturelle. En particulier, l’étape de réflexion et
d’analyse sur le problème traité, qui doit être préalable à toute tentative de
programmation et d’exécution sur machine, est souvent omise ou déficiente.
La méthode qui consiste à approcher l'objectif par des tentatives
infructueuses multiples encodées au clavier entraîne généralement des
pertes de temps considérables qui seraient inacceptables de la part
d’un programmeur professionnel.
1.1
L’analyse.
On peut affirmer que l’analyse d’un problème en vue de son traitement par
l’informatique est l’étape la plus importante du travail de développement : de sa
qualité dépend le succès ou l’échec de ce travail.
Il existe de nombreuses méthodes d’analyse adaptées aux grands domaines
d’applications. Cependant, dans la plus part des cas, il s’agira toujours de
découper le problème global en sous-problèmes eux-mêmes décomposés en
actions plus simples.
Les grands points à énoncer au début d’une analyse sont les suivants :
•
•
•
•
•
1.2
Définition des données d’entrée.
Définition des données de sortie ( Les résultats ).
Définition du traitement à effectuer.
Traitement des erreurs.
Facteurs humains.
Place des fichiers BATCH ou SCRIPT
Pourquoi, aujourd'hui, encore parler des vieux fichiers BATCH du système
MSDOS ?
BATCH signifie LOT, traitement d'une suite d'instruction par lot. Si vous avez
une grande habilité à manipuler votre souris, il est probable que la réalisation d'un
fichier BATCH pour une action à entreprendre une seule fois ne vous semble pas
très intéressante. Répétez 100 fois par jour cette opération…
De plus certains outils disponibles en ligne de commande n'ont pas leurs
équivalents dans votre environnement graphique.
XCOPY "C:\Mes documents\*.*" D:\BACKUP\*.* /D
Vous permet de réaliser un BACKUP de votre répertoire
mes documents. Grâce au commutateur /D, seul les
fichiers plus récents que ceux de l'archive seront
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
1
Fichier BATCH, bases de programmation
copiés: sur 100000 fichiers dont 99995 sont inchangés,
cela vous fera gagner bien du temps.
Sous Windows 2000 Server, de nombreuses commandes de manipulation et
création réseau ne sont disponibles qu'en ligne de commande.
D'autre part, comme administrateur réseau, si vous souhaitez que vos utilisateurs
réalisent une opération lors de chaque fermeture de session, prévoyez un fichier
script: lui n'oubliera jamais la tâche que vous lui avez confiée !
2
Algorithmique :programmation structurée
La définition d’un traitement doit identifier les actions à faire, les choix à opérer
en fonction de l’état de conditions et leur enchaînement adéquat. Ceci s’appelle
l’algorithmique.
Dans un premier temps, la description des actions doit être faite sous forme
indépendante de toute machine et même de tout langage afin d’être aussi général
et neutre que possible.
Un algorithme peut être plus ou moins complexe suivant la taille du problème,
mais dans tous les cas, on peut le ramener à une association de structures
élémentaires.
2.1
Structures élémentaires
Séquence
2.1.1 Structure séquentielle
Action 1
Action 2
Action 3
La séquence est une structure algorithmique correspondant à une suite
d’actions à exécuter successivement, l’une après l’autre dans l’ordre de
leur énoncé :
Somme = Nombre1
Somme = Somme + Nombre2
Somme = Somme + Nombre3
Moyenne = Somme / 3
La séquence est la structure par défaut d'un fichier BATCH.
2.1.1.1 Rupture de la séquence
La plus part des langages disposent de possibilités de modifier l'exécution d'une
séquence d'instructions. Cependant plus le langage de programmation est
structuré et évolué, moins il est nécessaire et souhaitable d'utiliser la rupture de
séquence. (Voir 3.2.4)
Batch, scripts
GOTO
GOTO SUITE_ET_FIN
ECHO Ceci n'est jamais exécuté
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
2
Fichier BATCH, bases de programmation
:SUITE_ET_FIN
2.1.2 Structure alternative
L’exécution de certaines tâches peut dépendre de la
réalisation d’une condition. Cette situation correspond à un
Alternative
Non
Oui
Condi
tion
de
Action 1
dilemme ou une alternative :
Action 2
Somme = Nombre1 + Nombre2
Somme = Somme + Nombre3
Si Somme>SeuilMaximum
Alors effectuer action débordement
Si Non, Moyenne = Somme / 3
La possibilité de ne rien accomplir pour une des deux actions est toujours
envisageable. On peut appeler cela une alternative incomplète: c'est le seul mode
disponible dans un fichier BATCH. (Voir 3.2.6)
Cette structure est appelée par les mots-clés qu’elle contient
Si .. condition .. Alors .. action1 .. Si non .. action2..
If .. condition .. Then .. action1 .. Else .. action2..
‘ Alternative incomplète à action unique
IF EXIST C:\TEST\NUL ECHO Le répertoire existe déjà
‘ Alternative incomplète à actions multiples
IF EXIST C:\TEST\*.* GOTO SUITE_TRAITEMENT
MD TEST
XCOPY "C:\Mes documents\*.*" C:\TEST\*.*
:SUITE_TRAITEMENT
‘ Alternative complète simulée à action unique
IF "%1"=="YES" ECHO Vous êtes d'accord
IF NOT "%1"=="YES" ECHO Vous n'êtes pas d'accord
‘ Alternative complète à actions multiples
IF %OS%==Windows_NT GOTO ACTION_WIN_NT
REM ACTION_WIN_98
. . .
. . .
GOTO FIN_TEST
:ACTION_WIN_NT
. . .
. . .
:FIN_TEST
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
3
Fichier BATCH, bases de programmation
2.1.3 Structure de répétition
Répétition
Les répétitions
avec ou sans
compteur sont
représentées
avec les mêmes
éléments
graphiques que
l’alternative.
Dans de nombreux cas, une action doit se reproduire un certain nombre
de fois successivement sur des données différentes.
Cette répétition est toujours sous l’emprise d’une condition de fin de test.
Il existe différentes sortes de traductions de la structure de répétition
suivant le langage de programmation et le niveau d’évolution de celui-ci.
Mais généralement, à nouveau les mêmes mots-clés sont utilisés à travers
la majorité d’entre eux.
For ... Next, Do While ...
2.1.3.1 Répétition sur un lot de fichier
Malheureusement, la commande FOR utilisable dans un fichier BATCh ne
permet pas de réaliser une structure de répétition dont la fin est basée sur un
compteur ou une condition mais simplement d'exécuter une action pour un certain
nombre de fichiers.(Voir 3.2.9)
FOR %%I IN (D*.doc) DO CALL NetBackup %%I
Permet d'appeler la sauvegarde à travers le réseau
(NetBackup.bat) de tous les fichiers dont le nom est
du type D*.doc dans le répertoire courant.
2.2
Création de sous programmes
Lors de la définition de l’analyse il était question de découper le problème global
en sous-problèmes eux-mêmes décomposés en actions plus simples. Cette
décomposition se retrouve dans le programme à réaliser sous la forme de
procédures ou de fonctions.
Mais les possibilités de réaliser un tel découpage dans un fichier BATCH ne sont
envisageable qu'en créant différents fichiers.
Deux types d'appels sont alors disponibles
2.2.1 Exécution d'un autre fichier BATCH
Toutes les commandes exécutables du système MSDOS sont utilisables dans un
fichier BATCH. Comme un BATCH est un exécutable, il peut en appeler un
autre.
‘Fichier TEST1.BAT
ACTION1
TEST2.BAT
ACTION2
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
4
Fichier BATCH, bases de programmation
‘Fichier TEST2.BAT
ACTION3
Cependant la condition de fin d'exécution d'un fichier BATCH est la rencontre
d'un caractère "EOF" fin de fichier. L'appel de TEST2.BAT sera réalisé mais
l'exécution sera terminée après ACTION3, sans retour vers ACTION2.
2.2.2 Appel particulier d'un autre fichier BATCH
Ce problème peut cependant être résolut de façon assez simple par l'utilisation du
mot clé CALL réservé à cette situation. (Voir 3.2.5)
‘Fichier TEST1.BAT
ACTION1
CALL TEST2.BAT
ACTION2
‘Fichier TEST2.BAT
ACTION3
L'ordre d'exécution des action sera celui-ci: ACTION1, ACTION3, ACTION2
2.2.3 Windows 2000: autre usage de CALL
Comme la commande CALL permet d'ignorer ou de décompter le nombre de
EOF rencontrés, pourquoi ne pas l'utiliser pour accéder à une étiquette locale et
ainsi enfin offrir la possibilité de réaliser une structure de sous programme!
‘Fichier TEST1.BAT
CALL :PrintLine
Echo LBSE2
6QTTI
CALL :PrintLine
Echo LOC239A
CALL :PrintLine
GOTO :EOF
:PrintLine
Echo ****************
GOTO :EOF
Le résultat de l'exécution sera celui-ci:
****************
LBSE2 6QTTI
****************
LOC239A
****************
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
5
Fichier BATCH, bases de programmation
3
Constitution d'un fichier BATCH ou SCRIPT
La constitution des fichiers de commande reste inchangée depuis l'apparition du
DOS.
Un fichier ASCII (Texte non mis en forme) contenant une ou plusieurs
commandes du système d'exploitation. Ce fichier doit porter une extension .bat (
Win95/98/Me/NT4/2000/XP ) ou .cmd (NT4/2000)
Les commandes de ce type de fichier sont exécutées séquentiellement jusqu'à la
lecture du caractère EOF (End Of File) fin de fichier.
3.1
Commandes générales
Toutes les instructions que vous pouvez introduire en ligne de commande sont
utilisables dans un fichier BATCH. La liste évolue cependant d'une génération de
système d'exploitation à l'autre.
Ainsi, lors de l'apparition du DOS7 de Windows 95, certaines instructions de
DOS622 ont été abandonnées, d'autres complétées et de nouvelles sont apparues.
Il en est de même pour les environnement W2000 et XP qui intègrent de
nombreuses commandes réservées aux manipulation réseau de même
qu’amélioration aux instructions de base du DOS. La liste dépend aussi de la
console que vous utilisez : soit command.com, la version la plus proche du DOS,
soit cmd.exe la version offrant toute la puissance de windows. Si vous utilisez
l’extension .cmd, vous confirmez votre choix exclusif de la console cmd.exe.
Chaque système Windows dispose dans l'aide d'une liste des commandes
supportées. Voir les fichiers CommandW2k.pdf et Command95.pdf.. Vous
pouvez aussi utiliser le fichier « AllHelp.bat » disponible sur le site
http://www.robvanderwoude.com qui compile dans une page html l’aide en ligne
de toutes les commandes disponibles dans « votre » version de Windows.
3.2
Commandes particulières
Certaines commandes ont été ajoutées pour résoudre des besoins propres à
l'exécution des fichiers BATCH.
3.2.1 Echo
3.2.1.1 ECHO ON, ECHO OFF
Active ou désactive le mode ECHO, avec ou sans affichage à l'écran des
commandes exécutées.
3.2.1.2 ECHO Voici un message utilisateur
Affiche à l'écran les messages pour l'utilisateur.
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
6
Fichier BATCH, bases de programmation
3.2.2 Pause
Interrompt le traitement du fichier et affiche le message "Appuyez sur une touche
pour continuer…". Seule la séquence CTRL+C permet d'interrompre l'exécution
du fichier BATCH.
3.2.3 Rem
Permet d'insérer des commentaires à l'intérieur du fichier de commande. Ces
commentaires sont invisibles à l'exécution.
@ECHO OFF
REM Demande d'interruption pour l'utilisateur
ECHO Voulez-vous continuer? Si non, CTRL+C
PAUSE
3.2.4 Goto
Rupture de l'exécution séquentielle: assure un saut vers une destination étiquetée.
L'étiquette est commencée par le caractère remarquable ":"
GOTO FIN
Rem instruction qui n'est jamais exécutée
:FIN
GOTO :EOF
Rem instruction non exécutée :EOF =>End Of File
3.2.5 Call
Permet d'appeler un fichier BATCH à partit d'un autre fichier BATCH tout en
garantissant le retour au programme appelant et la poursuite de celui-ci lorsque
l'exécution du programme appelé se termine.
‘ Fichier Batch1
Call Batch2
ATTENTION: UNIQUEMENT SOUS WINDOWS2000
La commande CALL accepte un mode de fonctionnement interne ( voir 2.2.3 )
L'appel d'un fichier batch par la commande CALL demande l'ouverture d'une
nouvelle session CMD.EXE. Les variables définies dans la session du programme
appelant seront inexistantes dans la session du programme appelé!!!
3.2.6 If
Réalise un traitement conditionnel de l'instruction se trouvant sur la même ligne
de commande.
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
7
Fichier BATCH, bases de programmation
3.2.6.1 IF ERRORLEVEL x ACTION_VRAI
ACTION_VRAI est exécuté si le dernier programme exécuté à renvoyé un code
de sortie supérieur ou égal à x.
3.2.6.2 IF %TMP%==C:\WINDOWS\TEMP ACTION_VRAI
ACTION_VRAI est exécuté si la chaîne de caractère %TMP% ( La variable
d'environnement WINDOWS TMP est-elle bien c:\Windows\temp ) est identique
à C:\WINDOWS\TEMP. Attention, respecter les minuscules et majuscules!
ATTENTION: UNIQUEMENT SOUS WINDOWS2000 et NT4
Le commutateur /I indique d'effectuer une comparaison insensible à la casse!
Les opérateurs de test disponibles sont:
== , EQU: égalité
NEQ: non égal
LSS: plus petit que
LEQ: plus petit ou égal
GTR: plus grand que
GEQ: plus grand ou égal
3.2.6.3 IF EXIST NomDeFichier ACTION_VRAI
ACTION_VRAI est exécuté si le fichier existe.
Attention! Un nom de répertoire n'est pas un nom de fichier. Pour tester
l'existence d'un répertoire, deux solutions sont possibles:
IF EXIST C:\TEMP\*.* ACTION_VRAI
Rem Ce répertoire ne peut être vide!
IF EXIST C:\TEMP\NUL ACTION_VRAI
Rem Il existe un fichier NUL même dans un répertoire
vide
3.2.6.4 IF DEFINED %NomDeVariable% ACTION_VRAI
ATTENTION: UNIQUEMENT SOUS WINDOWS2000 et NT4
Exécute ACTION_VRAI si la variable est préalablement définie.
SET MyVar=1
IF DEFINED OS ECHO Windows NT en cours d'exécution
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
8
Fichier BATCH, bases de programmation
IF DEFINED MyVar GOTO DéjàDéfini
3.2.6.5 IF NOT ...
Spécifie, dans tous les cas, que l'action est exécutée si la condition est fausse.
3.2.7 If … ELSE … (NT4, Win2000 uniquement)
Réalise un traitement conditionnel de l'instruction se trouvant sur la même ligne
de commande. Structure alternative complète!
IF EXIST T.BAT <DEL T.BAT> ELSE ECHO T.BAT non trouvé
3.2.8 Choice ( Non standard sous Windows 2000 :
disponible dans le ressource kit uniquement )
Attend une réponse de l'utilisateur tout en affichant un éventuel message au sujet
d'un choix à réaliser. Cette commande permet de réaliser un menu. Le résultat est
à extraire de la variable ERRORLEVEL, 1-2-3-4... selon la touche enfoncée.
Attention, IF ERRORLEVEL effectue un test "supérieur ou égal à" et non un test
d'égalité. Il est donc impératif de tester la valeur de poids le plus fort en premier
lieu.
choice /C:ABC /T:A,5 Action A, B ou C, votre choix
if errorlevel 3 goto ACTION_C
if errorlevel 2 goto ACTION_B
ECHO ACTION A
GOTO FIN
:ACTION_B
ECHO ACTION B
GOTO FIN
:ACTION_C
ECHO ACTION C
:FIN
3.2.9 For
Exécute une commande spécifiée sur chaque fichier d'un ensemble défini.
FOR %%I IN (*.TXT) DO CALL PRINTER %%I
Appel de PRINTER.BAT pour tous les fichiers du
répertoire courant nommés *.txt.
ATTENTION: UNIQUEMENT SOUS WINDOWS2000
Les options /D et /R vont étendre la définition de l'ensemble de fichier a travers
les répertoires
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
9
Fichier BATCH, bases de programmation
De plus la commande FOR peut être utilisée pour engendrer une suite numérique
dans la variable %%I à appliquer sur l'action de base
FOR /L %%I IN (1,1,14) DO NET USER 6Info%%I
Crée la liste d'utilisateurs de 6Info1 à 6Info14
L'option /F permet quant à elle d'appliquer une action sur des contenu de fichiers
de même que de réaliser l'analyse de ceux-ci
3.2.10 Shift
Permet de décaler les paramètres en provenance de la ligne de commande.
Rem Création d'un répertoire avec le 9ème nom passé
par la ligne de commande.
MD %9
SHIFT
MD %9
le 10ème nom
SHIFT
MD %9
le 11ème nom
3.2.11 Start
Démarre une nouvelle commande dans une fenêtre Windows. Les option de
démarrage sont différentes d'un système d'exploitation à l'autre mais permettent
de préciser au mieux le mode de démarrage.
"L'exécution" d'un document, pour peu que son extension soit correctement
associée, est aussi possible.
START /max NOTEPAD autoexec.bat
START /min MyDoc.wri
ATTENTION: UNIQUEMENT SOUS WINDOWS2000
La commande Start support d'autres paramètres qui vont définir le type de
priorité à accorder à l'application à exécuter de même que le type de mémoire à
affecter aux clients Windows 16.
3.2.12 Title (Uniquement sous Windows 2000 )
Assure l'affichage d'un titre pour la fenêtre d'exécution.
IF "%OS%"=="Windows_NT" TITLE VoiciMonFichier
3.2.13 Nouvelles commandes externes de Windows 2000
disponibles uniquement sous CMD.EXE
PUSHD / POPD permet de sauver ou restaurer un répertoire. PUSHD s'utilise
comme CD mais enregistre le répertoire de départ.
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
10
Fichier BATCH, bases de programmation
AT permet de planifier l'exécution d'une tâche en ligne de commande
SETLOCAL / ENDLOCAL en relation avec la commande SET permet de
signaler que les variables créées sont à détruire ( SETLOCAL) ou à conserver
(ENDLOCAL) après l'exécution du fichier script.
De nombreuses commandes reçoivent des options supplémentaires: XCOPY
permet par examples de déterminer les fichiers ou répertoire à EXCLURE d'une
zone à copier
3.2.14 Précautions pour les noms de fichiers longs
Si les noms de fichiers que vous manipulez sont des noms longs contenant au
moins un espace, la majorité des commandes va considérer cet espace comme un
séparateur de paramètres.
MD c:\Les Eleves de 6QTTI
Crée les répertoires suivants
C:\Les
C:\Elèves
C:\De
C:\6QTTI
Alors que
MD "c:\Les Eleves de 6QTTI"
Crée le répertoire suivant
C:\Les Eleves de 6QTTI
Xcopy *.* c:\Mes documents
Tente de copier *.* vers c:\Mes avec documents comme
paramètre
3.2.15 Utilisation des commandes
Pour toutes ces commandes, l'aide en ligne est toujours disponible: rappel "xxx
/?"
A partir de Windows 2000, n'hésitez pas à utiliser AllHelp.bat disponible sur
http://www.robvanderwoude.com qui crée une page WEB regroupant l'aide en
ligne de toutes les commandes disponibles sur votre station de travail!
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
11
Fichier BATCH, bases de programmation
4
Variables et autres astuces
4.1
Les variables système et autres
Les systèmes d'exploitation tel DOS et WINDOWS utilisent tous des variables
d'environnement contenant différents informations sur le système. La commande
SET permet d'en visualiser l'état, d'en créer ou d'en modifier d'autres.
Ces variables sont disponibles à l'intérieur d'un fichier BATCH
‘Fichier d'installation de l'application TS
IF %OS%==Windows_NT XCOPY A:\*.* %ProgramFiles%\TS\*.*
‘Si la variable d'environnement OS (Windows NT4, 2000)
est égale à Windows_NT, alors exécuter la copie
4.1.1 Définitions des variables personnalisées
La commande SET permet de définir de nouvelles variables pour notre usage
privé.
‘Fichier AUTOEXEC.BAT
. . .
SET MY_PC=6QTTI
. . .
‘Fichier TEST.BAT
SET MY_DIR = C:\6QTTI
IF "%MY_PC%"=="6QTTI" ECHO PC installé par la 6QTTI
XCOPY A:\*.* %MY_DIR%
ATTENTION: UNIQUEMENT SOUS WINDOWS2000
La commande SET reçoit deux option bien intéressantes
SET /P MY_PC=Quel est votre numéro de PC ?
Lors de l'exécution, l'utilisateur répondant au clavier au message "Quel est votre
numéro de PC ?" déterminera le contenu de la variable MY-PC
SET /A MY_PC=%MY_PC%+1
Cette fois, le numéro de PC sera incrémenté d'une unité ( ou toute autre opération
mathématique ) lors de l'exécution
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
12
Fichier BATCH, bases de programmation
4.1.2 Variables réservées au passage de paramètres
Vous avez à préparer sur un nombre important de disquettes, une arborescence de
répertoires dépendant de vos noms et prénoms d'utilisateurs: utilisez les fichier
BATCH sans modération !
‘Contenu du fichier Nom.bat
Format a: /q
A:
MD %1
CD %1
MD %2
CD %2
ECHO Naissance le %3 > Date.txt
‘utilisation du fichier Nom.bat
Nom Dupont Jean 12/05/72
‘Contenu de la disquette de Jean Dupont
a:\Dupont\Jean\Date.txt
‘Contenu du fichier Date.txt
Naissance le 12/05/72
Il existe 9 possibilités de passage de paramètres vers un fichier BATCH, de %1 à
%9. Si plus de 9 paramètres sont nécessaires, il est possible d'utiliser la
commande SHIFT. (Voir 0)
%0 permet de disposer du nom de fichier lui-même.
Sous Windows, il est possible de réaliser plusieurs raccourcis vers un et un seul
fichier BATCH tout en lui passant des paramètres de fonctionnement différents.
En effet, dans les propriétés de ce raccourcis, ajoutez derrière le nom du fichier
les paramètres que souhaitez transmettre.
4.2
Utilisation des redirecteurs
Quoique bien pratique, ce fichier Nom.bat nécessite lors de chaque formatage
votre intervention.
L'utilisation des redirecteurs nous permet de limiter cette intervention.
Créez un fichier texte (NON.TXT) qui contient toutes les réponses clavier que
vous fournissez à "Format a: /q". ("Return" "Return" N"Return").
De même, si les messages affichés à l'écran vous perturbent, envoyez-les vers le
périphérique de sortie NUL.
Format a: /q < NON.TXT
A:
MD %1 > NUL
4.3
Utilisation des PIPES
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
13
Fichier BATCH, bases de programmation
Vous souhaitez effacer un fichier sans confirmation, ou écrire l'adresse IP de
votre machine dans un fichier texte, combinez toutes les subtilités disponibles en
ligne de commande.
if exist c:\toto.tst Echo y | del c:\toto.tst
IpConfig |FIND "Adresse IP" >MonIP.txt
5
Autre utilisation des redirecteurs …
Les redirecteurs permettent de remplacer la console par un fichier en entrée (
clavier ) ou en sortie ( écran ). Il est donc possible de créer un fichier texte à
l’aide d’un fichier BATCH
5.1
Fichier texte seul
Vous souhaitez enregistrer dans un journal le nom des utilisateurs qui ouvrent
une session sur votre PC de même que la date et l’heure d’ouverture ?Placez
cette ligne dans un fichier que vous déposerez dans le groupe démarrage du profil
AllUser. Au fil des jours, votre c:\journal.txt se complètera à chaque ouverture !
echo %USERNAME%, %date%, %time% >> C:\journal.txt
Vous souhaitez disposer d’un fichier texte reprenant tous les noms des ressources
de type « partage de disque » de votre serveur ? La commande Net View assistée
d’une redirection et de la commande FIND vous permet cela !
net view \\serveur | find "Disque" >>MesDisques.txt
5.2
Fichier html ou autre format particulier
Une page html est constituée d’un fichier texte respectant une syntaxe et des
balises particulières. Depuis Windows 2000, un caractère permet d’envoyer les
symboles habituellement utilisés pour les redirections dans un fichier texte :^> et
^> seront transcrit dans un fichier comme < et >, de quoi encadrer les balises
html. Dés cet instant, tout est possible !!!
Voici une présentation élégante qui documente, archive votre intervention de
sauvegarde.
echo
echo
echo
echo
echo
echo
echo
echo
echo
echo
Date
OR PYT 11/06
^<HTML^> >d:\Saved.htm
^<BODY^> >>d:\Saved.htm
^<B^> >>d:\Saved.htm
^<BIG^> >>d:\Saved.htm
Sauvegarde effectuée >>d:\Saved.htm
sur %COMPUTERNAME% par %USERNAME% >>d:\Saved.htm
^<HR SIZE=3 WIDTH=500 ALIGN=LEFT^> >>d:\Saved.htm
^</BIG^> >>d:\Saved.htm
^</B^> >>d:\Saved.htm
Date de sauvegarde: >>d:\Saved.htm
/t >>d:\Saved.htm
6ème Q.T. Technicien en informatique
LBSE2
14
Fichier BATCH, bases de programmation
echo
Time
echo
echo
ECHO
5.3
à >>d:\Saved.htm
/t >>d:\Saved.htm
^</B^> >>d:\Saved.htm
^</HTML^> >>d:\Saved.htm
^</BODY^> >>d:\Saved.htm
Fichier script pour le style de votre page html
Ajoutez dans votre fichier batch les informations de mise en page standard de
votre document Web sous forme d’un fichier de style appelé dans votre page html
MonBatch … … …
Rem crée la page html avec appel du fichier de style
echo ^<link href="main.css" rel="stylesheet"
type="text/css" /^> >>MaPage.html
… … …
Rem crée le fichier main.css, style
type MonBatch.bat | find "
" | find /v "NotMe!"
>main.css
goto End
:: main.css
html, body {
margin: 0px;
padding: 0px;
border: 0px;
}
:: Main End
:End
Lors de la commande Type MonBatch.bat, le premier FIND suivi de 5 espaces va
« laisser sortir » toutes les lignes comprenant 5 espaces, soit les lignes contenues
entre ::main.css et ::main end mais aussi la ligne de la commande Find. Pour
éviter celle-ci, il « suffit » d’envoyer le résultat du premier FIND vers un second
FIND qui « bloque la ligne contenant le texte « NotMe ! » soit cette ligne-ci !
6
Et pour en savoir plus...
Lancez une recherche "MSDOS BATCH FILES" sur votre moteur de recherche
habituel!
De nombreux sites, régulièrement mis à jour, incluant trucs et astuces pour
chaque système d'exploitation sont accessibles. C'est la possibilité de rencontrer
les GOUROUS du fichier BATCH!!!
OR PYT 11/06
6ème Q.T. Technicien en informatique
LBSE2
15

Documents pareils