[BATCH/DOS] rechercher/remplacer un ensemble de ligne par d'autres

rechercher/remplacer un ensemble de ligne par d'autres [BATCH/DOS] - Shell/Batch - Programmation

Marsh Posté le 31-01-2011 à 17:53:17    

Je cherche désespérément ce type de script...
J'ai trouvé pour un mot :  

Code :
  1. for /f "delims=" %%a in ('type "%1"') do call :commande "%%a"
  2. goto :eof
  3. :commande
  4. set ligne=%1
  5. set ligne=%ligne:mot_a_remplacer=mot_de_remplacement%
  6. @echo %ligne% >>fichier2.txt


dans cmd :
test.bat fichier1.txt
 
mais pour plusieures lignes introuvable.  
Le retour chariot en dos : ^ ?
il y a un sujet qui s'en rapproche mais je vois pas bien comment le mettre en oeuvre : http://forum.hardware.fr/hfr/Progr [...] 4066_1.htm
 
sinon mon fichier de départ (simplifié) :

Code :
  1. push 'test', 1, 'com'
  2.     getVariable
  3.     push 'pa'
  4.     getMember
  5.     push 'po'
  6.     getMember
  7.     push 'Main'
  8.     getMember
  9.     push 'run'
  10.     callMethod
  11.     pop


 
fichier d'arrivée souhaité :  

Code :
  1. push 'test', 1, 'com'
  2.     getVariable
  3.     push 'pa'
  4.     getMember
  5.     push 'po'
  6.     getMember
  7.     push 'Main'
  8.     getMember
  9.     push 'run'
  10.     callMethod
  11.     pop
  12.     push '*', 1, 'System'
  13.     getVariable
  14.     push 'security'
  15.     getMember
  16.     push 'allowDomain'
  17.     callMethod
  18.     pop


 
Je doit absolument le faire en DOS (ni linux(sed), ni python, ni VBS, ni exe)
 
Merci d'avance, toute piste est la bienvenue

Reply

Marsh Posté le 31-01-2011 à 17:53:17   

Reply

Marsh Posté le 01-02-2011 à 14:34:20    

personne pour m'aiguiller ?
j'ai essayé :  

Code :
  1. for /f "delims=" %%a in ('type "%1"') do call :commande "%%a"
  2. goto :eof
  3. :commande
  4. set ligne=%1
  5. set ligne=%ligne:    push 'run'^    callMethod^    pop=    push 'run'^    callMethod^    pop^    push '*', 1, 'System'^    getVariable^    push 'security'^    getMember^    push 'allowDomain'^    callMethod^    pop%
  6. @echo %ligne% >>fichier2.txt


mais ça n'a pas l'air de marcher :  
quel caractère d'échapement pour les guillemets ?
comment sauter une ligne c'est bien ^ ?
comment conserver la tabulation ?


Message édité par flashub le 01-02-2011 à 14:35:02
Reply

Marsh Posté le 02-02-2011 à 17:29:49    

up

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed