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 :
Mais quand je l'exécute avec les 650 zips dans le dossier ça fonctionne mais que pour le dernier.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 @echo off D: cd Fichiers cd Scripts cd AMUNDI SET monrep="D:\Fichiers\Scripts\AMUNDI" for /r "%monrep%" %%i in (*.zip) do set MonZip=%%~nxi "C:\Program Files\7-zip\7z.exe" e -r %MonZip% *.txt rename Index.txt %MonZip%.txt set file=*.txt set oldstr=99100 set newstr=99150 For %%A in ( "do until Wsh.stdin.atendofstream " " o="%oldstr%" : n="%newstr%" " " ch=replace(wsh.stdin.readline,o,n)" " Wsh.echo ch " "loop" ) do >>__.vbs echo\%%~A type %file% |>'.txt cscript /nologo __.vbs && move ' %file% del __.vbs del %MonZip%.txt rename '.txt Index.txt "C:\Program Files\7-zip\7z.exe" u %MonZip% *.txt del Index.txt pause exit /b
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 pour votre aide.
Partager