Je veux extraire tous les fichiers * .Z dans leurs répertoires actuels (compression LZW/UNIX 7-Zip).Extraction du contenu des fichiers archivés en utilisant 7-Zip et PowerShell
Je n'arrive pas à comprendre pourquoi cela ne fonctionne pas. Je sais comment utiliser PowerShell pour obtenir récursivement le chemin complet d'un nom de fichier et d'un répertoire dans lequel réside le fichier. Je sais aussi comment utiliser 7-zip pour extraire un fichier en place. Mais essayer de mettre ces deux ensemble ne fonctionne pas. Voici ce que j'ai:
Get-ChildItem -Recurse *.Z | foreach ($_) {7z.exe e $_.FullName -o$_.Directory}
J'ai aussi essayé:
Get-ChildItem -Recurse *.Z | foreach ($_) {7z.exe e $_.FullName -o$($_.Directory)}
et
Get-ChildItem -Recurse *.Z | foreach ($_) {7z.exe e $_.FullName -o${_.Directory}}
Cela devient les fichiers que je veux par FullName
et Directory
est le chemin correct (no space between the o and directory is how 7-zip expects the output directory) . Cependant, il continue d'essayer de sortir le fichier sur le chemin .Z plutôt que sur le répertoire. Je sais que c'est juste si je le fais
Get-ChildItem -Recurse *.Z | Select Directory
c'est où je veux qu'il aille.
Je suppose que le problème était de ne pas avoir d'espace mais je ne sais pas pourquoi il obtiendrait le même répertoire. J'ai même défini manuellement une variable et l'ai passée sans problème.
Donc le problème est 7-zip ne disant aucun fichier à traiter quand je veux sortir dans le même répertoire mais je ne sais pas pourquoi, et il semble que la variable Directory
ne soit pas passée mais le nom du fichier n'a plus aucun sens. Exemple de sortie par fichier:
7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
Scanning the drive for archives:
1 file, 226 bytes (1 KiB)
Extracting archive: E:\Files\2014\more_cowbell\myfancyunixcompresseddocument.txt.Z
--
Path = E:\Files\2014\more_cowbell\myfancyunixcompresseddocument.txt.Z
Type = Z
No files to process
Everything is Ok
Files: 0
Size: 0
Compressed: 226
Il fonctionne très bien si je spécifie un répertoire de sortie spécifique (pas variable), mais je veux les extraits en place en raison de nombreux sous-répertoires et les noms de fichiers en conflit entre eux.
Je veux extraire tous les fichiers * .Z dans leurs répertoires actuels (compression LZW/UNIX 7-Zip).
qui a fait l'affaire! Je vous remercie! –