J'ai un défi de script intéressant devant moi. Je suis presque certain qu'il y a un moyen de le faire, mais je sens qu'il me manque probablement des outils particuliers et / ou des connaissances fonctionnelles.
Il existe une cinquantaine de fichiers ZIP contenant chacun, entre autres, des fichiers texte qui doivent être fusionnés. La structure ressemble à ceci:
C:\Reports\FirstJob-1.zip
|-MyName
|-FirstJob
|-1
|-[Some other folders]
|-TXTReports
|-English
|-[Some other files]
|-Report.txt
C:\Reports\FirstJob-2.zip
|-MyName
|-FirstJob
|-1
|-[Some other folders]
|-TXTReports
|-English
|-[Some other files]
|-Report.txt
C:\Reports\SecondJob-1.zip
|-MyName
|-SecondJob
|-1
|-[Some other folders]
|-TXTReports
|-English
|-[Some other files]
|-Report.txt
Si j'avais tous les Report.txt
fichiers dans un dossier normal et nommé de manière unique, je pourrais probablement simplement écrire une instruction FOR qui cible *.txt
et exécute quelque chose de similaire type filename.txt >> Consolidated.txt
sur chacun. Cependant, tous portent le même nom de fichier et sont incorporés profondément dans des fichiers ZIP distincts.
Les outils potentiellement utiles dont je dispose actuellement sont Windows XP Professional SP3, PowerShell et WinZip. Je préférerais ne rien télécharger ni installer, mais je comprends que des outils tiers (ou des outils supplémentaires de Microsoft ou WinZip) peuvent être nécessaires. Quels que soient les outils que j'utilise doivent fonctionner en mode natif sous Windows. Je ne veux vraiment pas avoir à jouer avec Cygwin ou d'autres émulateurs sur ce système.
À tout le moins, j'ai besoin d'un outil qui me permettra d'analyser et de manipuler les fichiers ZIP à partir de la ligne de commande. De plus, y a-t-il d'autres complications particulières à cela auxquelles je n'ai pas encore pensé?
la source
Puis-je suggérer une autre option? Si vous utilisez Windows XP, vous disposez également de VBScript. Il y a plusieurs années, j'ai écrit une série d'articles qui montraient comment VBScript dans WSH pouvait être utilisé pour créer et manipuler des fichiers zip à l'aide du support intégré de Windows XP pour Compressed Folders. Vous devriez essayer. Votre script ne comporterait aucune dépendance vis-à-vis de tiers et la génération de scripts pour la logique du système de fichiers est relativement simple.
Dossiers compressés dans WSH
Comprendre la classe CompressedFolder
Implémentation de la classe CompressedFolder
En résumé, les fichiers zip peuvent être ouverts en tant que dossiers compressés à l'aide de la méthode Namespace de l'objet Shell. Cela revient essentiellement à les explorer comme un répertoire avec l’Explorateur Windows.
la source