> Tech > La création d’un fichier texte et ses variantes

La création d’un fichier texte et ses variantes

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

Une fois la commande echo (now, date, time) maîtrisée, vous pouvez soit contrôler l’écriture des résultats dans un fichier, soit rediriger la sortie globale du script vers un fichier. La première solution permet un contrôle plus fin de ce qui sera dans le fichier, la redirection permet de facilement passer

La création d’un fichier texte et ses variantes

de l’écran au fichier. Dans ce cas, on se contentera de lancer le script de la manière suivante
C:\>MonScript >c:\logs\resultat.txt

Un petit rappel sur les opérateurs de redirection « > » et « >> » : le premier permet de rediriger les affichages dans un fichier qui sera créé ou recréé pour l’occasion. Le second permet de compléter un fichier existant. Ces opérateurs peuvent être employés au niveau du lancement du script (comme dans l’exemple précédent) ou à l’intérieur même du script au niveau de chacune des commandes (pour l’écriture dans un ou plusieurs fichiers cf. l’exemple de script en fin d’article). On peut aussi mixer ce qui apparaît à l’écran et ce qui est envoyé dans un fichier. Exemple d’affichages multiples :
:: Definition des sorties
Set LogBrief=c:\logs\bref.txt
Set LogFull=c:\Logs\full.txt
Set Message=Lancement du script de test des affichages
:: Affichage à l’écran
Echo %Message%
:: Création du fichier « Bref » et affichage d’un message daté.
Now %Message% >%LogBrief%
:: ajout dans le fichier « complet » du message
Now %Message% >>%logFull%
:: Exécution de commande diverses avec redirections dans le fichier « complet »
Dir c:\windows >>%LogFull%
:: on peut aussi utiliser les fichiers créés lors du script pour un affichage écran en fin de script
If exist %LogFull% type %LogFull%

Je peux aussi créer des fichiers plus structurés comme un fichier CSV
:: Definition des sorties
Set Sortie=c:\logs\sortie.csv
Echo Machine ;User >%Sortie%
Echo %ComputerName% ;%userName% >>%sortie
:: on peut même lancer directement Excel sur le fichier ainsi créé
If exist %Sortie% start %Sortie%

Pour la création d’un fichier HTML, c’est à peine plus compliqué qu’un fichier texte, il faut juste préparer un fichier d’entete et un fichier pied de page avec les lignes suivantes :
Entete.txt :
<html>
<body>
Pied.txt :
</body>
</html>

Pourquoi passer par ces fichiers ? Les caractères < et > sont pris par l’interpreteur de commande comme des caractères de redirection. Le Script qui génère du HTML ressemblerait à :
:: Definition des sorties
Set Sortie=c:\logs\dir.html
Set Entete=c:\scripts\HTML-entete.txt
Set Pied=c:\scripts\HTML-entete.txt
:: initialisation
If exist %Entete% type %Entete% >%Sortie%
:: Corps du Script (par exemple)
Echo %ComputerName% >>%Sortie%
Echo %UserName% >>%Sortie%

:: Fin de fichier
If exist %Pied% type %Pied% >>%Sortie%
If exist %Sortie% start %Sortie%
:: Affichage du fichier obtenu
start %sortie%

Une des grandes limites de l’interpréteur de commande pour générer des fichiers HTML, c’est son incapacité à gérer les <> qui sont les caractères utilisés dans le HTML pour gérer les balises. Mais avec un peu d’astuce, on peut faire quand même des choses (mais ça, ce sera une autre histoire).

Téléchargez cette ressource

Guide inmac wstore pour l’équipement IT de l’entreprise

Guide inmac wstore pour l’équipement IT de l’entreprise

Découvrez toutes nos actualités à travers des interviews, avis, conseils d'experts, témoignages clients, ainsi que les dernières tendances et solutions IT autour de nos 4 univers produits : Poste de travail, Affichage et Collaboration, Impression et Infrastructure.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010