Créer un fichier xml à partir d'un batch ?

Résolu/Fermé
Emerois - Modifié par Emerois le 12/01/2016 à 18:17
dna.factory Messages postés 24956 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 25 avril 2024 - 14 janv. 2016 à 07:47
Bonjour,

Comme indiqué dans le sujet, j'aimerais savoir si il est possible de créer un fichier xml à l'aire d'un batch. Parce que c'est bien beau de pourvoir créer un fichier xml a l'aide de cette commande :
echo "ce que je met dans mon fichier" >> F:\NomDeMonfichier.xml
Mais avec cela je ne peut écrire juste une ligne (ou bien je ne sais pas m'en servir :/ ) Mais je n'arrive pas créer un fichier avec plusieurs lignes et surtout qui possède des :
"<ScheduleByDay>
<DaysInterval>1</DaysInterval>
</ScheduleByDay> "
Enfin les < et > , les mêmes espaces, sauté des lignes,.. Enfin vous avez compris non ? ><'
Bref voila merci ! ( excusez-moi si cette question à déjà été posée mais je n'ai pas trouvé la réponse )
Encore merci !

A voir également:

4 réponses

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
13 janv. 2016 à 10:05
Salut,

En ajoutant les lignes une par une :
echo '<?xml version="1.0" encoding="UTF-8"?>' > file.xml
echo '<root>' >> file.xml
echo '    <item></item>' >> file.xml
echo '</root>' >> file.xml


En une seule instruction :
echo -e '<?xml version="1.0" encoding="UTF-8"?>\n<root>\n\t<item></item>\n</root>' > file.txt


Bonne journée
0
dna.factory Messages postés 24956 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 25 avril 2024 1 609
Modifié par dna.factory le 13/01/2016 à 10:24
echo "ce que je met dans mon fichier" >> F:\NomDeMonfichier.xml
Mais avec cela je ne peut écrire juste une ligne

Justement non
> (redirection simple) permet d'écrire une seule ligne (en simplifiant). même si cette ligne peut contenir des retours chariots
par contre
>> (ajout enfin de fichier) te permet d'ajouter autant de lignes que tu veux à la fin de ton fichier, sans toucher au haut de ton fichier.
Ce qui te permet de faire la version bateaux ou tu tapes les commandes à la main.

Travaillant sur la même chose, on arrive rapidement à la conclusion que faire des fonctions (surtout pour les lignes <cle>valeur</cle>) permet de gagner un temps fou, et de faciliter la lecture et la maintenance


Stop failing the turing test !
0
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
Modifié par ryko1820 le 13/01/2016 à 10:59
Une autre approche sous Windows et complètement utilisable en ligne de commande serait d'utiliser du VBScript comme dans cet exemple https://docs.microsoft.com/fr-fr/previous-versions/technet-magazine/cc194420(v=msdn.10)?redirectedfrom=MSDN . Cela permet de respecter la DOM XML et d'avoir quelque chose d'un peu plus évolué et rapide que l'interpréteur de commande Windows.

Tout dépends de la complexité du XML devant être produit. namespace, cdata, etc ...

Sinon on peut aussi le faire en powershell.

http://powershell.com/cs/blogs/tobias/archive/2009/02/02/xml-part-2-write-add-and-change-xml-data.aspx

Après si c'est sous linux cela ouvre le champs des possibles ...

You may stop me but you can't stop us all   ;-)
Je cherche du boulot
0
ryko1820 Messages postés 1645 Date d'inscription dimanche 28 avril 2013 Statut Membre Dernière intervention 15 août 2021 276
Modifié par ryko1820 le 13/01/2016 à 17:21
Un autre exemple démontrant la simplicité du Powershell pour la manipulation dans Windows de XML :
https://serverfault.com/questions/26976/update-xml-from-the-command-line-windows
Enfin puisque je suis dans les pages en anglais : quelques "bests practices" exposées de façon un peu lapidaires mais pas totalement dénuées de bon sens : HOWTO Avoid Being Called a Bozo When Producing XML :-)
0
merci beaucoup pour vos réponses, je vais opter pour la technique de Pilet, qui est peut-être la plus fastidieuse, mais que je trouve plutôt simple. (Et puis je ne connais pas bien le VBscript ou le shell et je n'ai pas trop le temps de me pencher la dessus)

Encore merci ! :D
0
dna.factory Messages postés 24956 Date d'inscription mercredi 18 avril 2007 Statut Modérateur Dernière intervention 25 avril 2024 1 609
14 janv. 2016 à 07:47
T’inquiètes, on commence toujours pas la méthode séquentielle fastidieuse.
Et puis avec le temps, on commence à utiliser des astuces de factorisation/fonctions.
Tu y viendras quand tu seras prêt.
0