Inscrire > dans un fichier avec un .bat

Résolu
Ticho92 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis stagière dans un entreprise, étudiant en 3e année d'un bac informatique et je désire créer des .htm (Page Web) par l'intermédiaire d'un script .bat (Commande dos).

La génération dois être fait à l'aide de commande dos pour un maximum de portabilité (aucun FrameWork dois être requis, pas de librairie ou de dll non plus).

La page ne peut pas être générer à l'avance car des variables sont demandés dynamiquement à l'utilisateur par l'intermdiaire de l'invite de commande.

Le problème se pose lorsque je dois écrire des balise html.
En effet, pour écrire dans mon fichier j'utilise en :

-Mode création
echo Salut > "fichier.txt"
-Mode ajout (Append text)
echo Sa va >> "fichier.txt"

Cependant, lorsqu'on désire ajouter du code html dans le fichier ex:
echo <HTML><HEAD><TITLE> Test </TITLE> > "fichier.txt"

dos interprète les premier > comme la fin de la commande dont le résultat doit être envoyé dans le fichier.

J'ai aussi essayé les fameux "" :
echo "<HTML><HEAD><TITLE> Test </TITLE>" > "fichier.txt"

Le fichier ce construit et la chaîne y est bien entreposée. Le seul problème c'est que les deux guillemets aussi

Quelqu'un pourrait m'aider?
Merci à l'avance

Ticho92
A voir également:

4 réponses

cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonsoir,

Merci pour le retour d'informations.
2
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonsoir,

Le fichier ce construit et la chaîne y est bien entreposée. Le seul problème c'est que les deux guillemets aussi
Pour éliminer les guillemets tu peux, à la lecture des enregistrements de ton fichier, utiliser la commande suivante :
    SET      chaine=%chaine:"=%
0
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonsoir,

NE PAS PRENDRE EN COMPTE MON PRECEDENT MESSAGE !
---------------------------------------------------------------------------------
C'est un peu plus compliqué que ce qui précède, je viens d'effectuer un test. C'est au niveau de l'écriture dans la fichier qu'il faut intervenir :

   SETLOCAL ENABLEdelayedExpansion
   SETLOCAL ENABLEextensions
   CLS
   rem      Ici j'ai présumé (simulation) que la chaîne de caractères est dans une 
   rem           variable sans  les guillemets  (_chaineA).
   SET       "_chaineA=<HTML><HEAD><TITLE> Test </TITLE>"

   SET      _cmde=echo !_chaineA!
   !_cmde! > "fichier.txt"
0
Ticho92 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Rebonjour,

J'ai trouvé mieu, je crois, pour résoudre mon problème.

Au lieu de s'acharner à supprimer les guillemets, il est préférable, toujours selon moi de mettre un ^ devant le caractère > ou <


Merci quand même,
Les tentatives d'aide sont vraiment appréciées.

Ticho92
0