Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1249 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Batch] Modification d'une chaîne de caractères dans un txt zippé

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Batch] Modification d'une chaîne de caractères dans un txt zippé

n°2220853
risotune
Posté le 26-02-2014 à 15:55:14  profilanswer
 

Bonjour à tous,
 
Mon problème est plutôt simple mais je galère ...
 
Je dois faire un script qui modifie une chaîne de caractère dans un txt qui est dans une archive zip.
 
Jusque là ça va, j'ai fait un script mais qui ne fonctionne que pour un seul zip.
 
Mon problème est que je n'arrive pas à le modifier pour le faire sur 650 zip ...
 
Les fichiers à modifier dans chaque zip s'appelle Index.txt mais sont tous différents les uns des autres et doivent être intégrés dans leur propre dossier zippé de base ...
 
Je sais pas si j'arrive à bien m'exprimer ...
 
Voici le code que j'ai pondu, ça vous aidera déjà à comprendre un peu mieux ce que je veux faire :
 

Code :
  1. @echo off
  2. D:
  3. cd Fichiers
  4. cd Scripts
  5. cd AMUNDI
  6. "C:\Program Files\7-zip\7z.exe" e -r *.zip *.txt
  7. set file=*.txt
  8. set oldstr=99100
  9. set newstr=99150
  10. For %%A in (
  11.   "do until Wsh.stdin.atendofstream    "
  12.   "  o="%oldstr%" :  n="%newstr%"      "
  13.   "  ch=replace(wsh.stdin.readline,o,n)"
  14.   "  Wsh.echo ch                       "
  15.   "loop"
  16. ) do >>__.vbs echo\%%~A
  17. type %file% |>'.txt cscript /nologo __.vbs && move ' %file%
  18. del __.vbs
  19. del Index.txt
  20. rename '.txt Index.txt
  21. SET monrep="D:\Fichiers\Scripts\AMUNDI"
  22. for /r "%monrep%" %%i in (*.zip) do set MonZip=%%~nxi
  23. "C:\Program Files\7-zip\7z.exe" u %MonZip% *.txt
  24. del Index.txt
  25. exit /b


 
Merci de votre aide

mood
Publicité
Posté le 26-02-2014 à 15:55:14  profilanswer
 

n°2220871
risotune
Posté le 26-02-2014 à 18:00:32  profilanswer
 

J'ai un peu modifié le script :
 

Code :
  1. @echo off
  2. D:
  3. cd Fichiers
  4. cd Scripts
  5. cd AMUNDI
  6. SET monrep="D:\Fichiers\Scripts\AMUNDI"
  7. for /r "%monrep%" %%i in (*.zip) do set MonZip=%%~nxi
  8. "C:\Program Files\7-zip\7z.exe" e -r %MonZip% *.txt
  9. rename Index.txt %MonZip%.txt
  10. set file=*.txt
  11. set oldstr=99100
  12. set newstr=99150
  13. For %%A in (
  14.   "do until Wsh.stdin.atendofstream    "
  15.   "  o="%oldstr%" :  n="%newstr%"      "
  16.   "  ch=replace(wsh.stdin.readline,o,n)"
  17.   "  Wsh.echo ch                       "
  18.   "loop"
  19. ) do >>__.vbs echo\%%~A
  20. type %file% |>'.txt cscript /nologo __.vbs && move ' %file%
  21. del __.vbs
  22. del %MonZip%.txt
  23. rename '.txt Index.txt
  24. "C:\Program Files\7-zip\7z.exe" u %MonZip% *.txt
  25. del Index.txt
  26. pause
  27. exit /b


 
Mais quand je l'exécute avec les 650 zips dans le dossier ça fonctionne mais que pour le dernier.
 
Ce qui est normal, je suppose qu'il faut faire un boucle pour effectuer ce script sur chaque zip un par un mais je n'y arrive pas ...
 
Merci d'avance.

n°2222364
risotune
Posté le 14-03-2014 à 18:39:52  profilanswer
 

Je me permets de faire un petit up ?
 
Merci d'avance :)

n°2222408
KibitO
Posté le 15-03-2014 à 19:58:56  profilanswer
 

Tu es sur quel OS là ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [Batch] Modification d'une chaîne de caractères dans un txt zippé

 

Sujets relatifs
flux octets et caractères[BATCH] Sauvegarde utilisateurs de PC portable
[BATCH] Changement d'extension et concaténer des fichiersscript batch kill processus + copie de fichiers
[Résolu] Insérer un caractère dans une chaine à une position donnée[RESOLU] Créer un CSV à partir d'une chaîne en php
BDD changer chaine de connexion d'une base existante compteur et batch
[CSS / Wordpress] Modification de la barre de menu[Shell/Batch] Recherche d'une chaîne de caractère dans un fichier
Plus de sujets relatifs à : [Batch] Modification d'une chaîne de caractères dans un txt zippé


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR