Estou tentando extrair vários arquivos 7z.
Consegui obter esses dois conjuntos de scripts Powershell de outras postagens do Stackoverflow, mas nenhum deles parece funcionar.
$7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
$zipFile = '"F:\NHSFTP\WH_20240803_1.7z"'
$zipFilePassword = "xYxYxYx"
$command = "& $7ZipPath e -oe:\ -y -tzip -p$zipFilePassword $zipFile"
iex $command
$7ZipPath = '"C:\Program Files\7-Zip\7z.exe"'
$zipFile = '"F:\NHSFTP\WH_20240803_1.7z"'
$zipFilePassword = "xYxYxYx"
$command = "& $7ZipPath e -oW:\ADMINISTRATION -y -tzip -p$zipFilePassword $zipFile"
iex $command
O que estou perdendo?
Também estou tentando abrir vários arquivos 7z, não apenas um.
Eu expresso algo assim?
$zipFile = '"F:\NHSFTP\*.7z"'
Atualizar
É isso que preciso executar (script atualizado)?
$7ZipPath = 'C:\Program Files\7-Zip\7z.exe'
$zipFile = 'F:\NHSFTP\WH_20240803_1.7z'
$zipFilePassword = 'xYxYxYx'
& $7ZipPath e -oe:\ -y -tzip -p$zipFilePassword $zipFile
Não há razão para usar
Invoke-Expression
aqui, sugiro criar uma função que você possa reutilizar facilmente mais tarde. Além disso, o 7zip é capaz de detectar o algoritmo de compactação para que você possa removê-lo-tzip
como argumento.Então você pode usá-lo como: