Я хочу извлечь все * .Z-файлы в свои текущие каталоги (поддержка 7-Zip сжатия LZW/UNIX).Извлечение содержимого архивных файлов на место с помощью 7-Zip и PowerShell
Я не могу понять, почему это не работает. Я знаю, как использовать PowerShell для рекурсивного получения полного пути к имени файла и директории, в которой находится файл. Я также знаю, как использовать 7-zip для извлечения файла на место. Но попытка соединить эти два не работает. Вот что у меня есть:
Get-ChildItem -Recurse *.Z | foreach ($_) {7z.exe e $_.FullName -o$_.Directory}
Я также попытался:
Get-ChildItem -Recurse *.Z | foreach ($_) {7z.exe e $_.FullName -o$($_.Directory)}
и
Get-ChildItem -Recurse *.Z | foreach ($_) {7z.exe e $_.FullName -o${_.Directory}}
Это становится файлы, которые я хочу от FullName
и Directory
правильный путь (no space between the o and directory is how 7-zip expects the output directory) , Однако он пытается вывести файл в путь .Z, а не в каталог. Я знаю, что это правильно, если я делаю
Get-ChildItem -Recurse *.Z | Select Directory
Это то место, где я хочу.
Я предполагаю, что проблема не имела места, но не была уверенна, почему она получит тот же каталог. Я даже вручную определил переменную и передал ее без проблем.
Так что проблема в 7-zip говорит, что нет файлов для обработки, когда я хочу выводить в тот же каталог, но не уверен, почему, и кажется, что переменная не передается, но имя файла снова не имеет смысла. Пример вывода в файл:
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
Он отлично работает, если я указываю один конкретный выходной каталог (без переменных), но я хочу, чтобы они извлечены на месте из-за многих подкаталогов и противоречивых имен файлов между ними.
Я хочу извлечь все * .Z файлы в свои текущие каталоги (поддержка 7-Zip сжатия LZW/UNIX).
Это сделал трюк! Спасибо! –