Bonjour / Bonsoir,

Je suis depuis plus de 4 heures en recherche pour comprendre ce qui ne va pas.

Alors j'ai un fichier CSV avec les lignes suivantes :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
Ligne A
Ligne B
Ligne C
Ligne D
Je souhaite y apporter un traitement pour obtenir un fichier au format xml formatté selon mes souhaits.

Ce fichier xlm possédera toutes les lignes de mon fichier CSV mais avec des instructions avant et après les données fournies par le fichier csv

J'ai déja effectué un premier travail qui est :

Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
Rem mise en place des variables pour creation fichier xml
set applicationID=ICI LA LIGNE A RAJOUTER AU DEBUT
set ligne_first=[{\"packageName\":\"%applicationID%\",\"permissions\":[
set before_permission={"name":"
set val_after_permission=\",\"value\":\"1\"},
set val_end_of_last_line=]}]

Puis dans mon .bat, je vérifie que mes variables sont correctes :
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
echo %ligne_first%
echo %before_permission%
echo %val_end_of_last_line%

Enfin, j'ai testé sans variable ma ligne de commande avec un mot TOTO et TATA
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
%sed% -e "1i%ligne_first%" -e "s/.*/TOTO&/" -e "s/$/TATA,/" fichier_donnee.csv >> Final.xml

Tout est parfait et le résultat dans Final.xml est bien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
ICI LA LIGNE A RAJOUTER AU DEBUT
TOTOLigne ATATA
TOTOLigne BTATA
TOTOLigne CTATA
TOTOLigne DTATA
Alors le souci, dés que je place ma variable %before_permission% là ça va plus. j'ai une erreur :
La commande :
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
%sed% -e "1i%ligne_first%" -e "s/.*/%before_permission%&/" -e "s/$/TATA,/" fichier_donnee.csv >> Final.xml
Erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
sed.exe: -e expression n°2, caractère 11: commande `s' inachevée
Par contre si je replace la première variable utilisé, là ça pose pas de problème...
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
%sed% -e "1i%ligne_first%" -e "s/.*/%ligne_first%&/" -e "s/$/TATA,/" fichier_donnee.csv >> Final.xml
Incroyable...

Bon si quelqu'un peut me filer un coup de pousse.

Merci à vous

Tof