Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何在Powershell中通过7zip命令提取.zip时处理CRC错误?_Windows_Powershell_7zip_Powershell 4.0_Powershell 5.0 - Fatal编程技术网

Windows 如何在Powershell中通过7zip命令提取.zip时处理CRC错误?

Windows 如何在Powershell中通过7zip命令提取.zip时处理CRC错误?,windows,powershell,7zip,powershell-4.0,powershell-5.0,Windows,Powershell,7zip,Powershell 4.0,Powershell 5.0,此代码段给出了一个错误7z:error:CRC失败:SomeFile.exe。 我已经检查了上述文件的crc。是的,crc不匹配。但使用手动过程(右键单击>提取到文件夹)提取相同的zip文件 有没有办法处理这个异常 7z这些自相矛盾的行为背后的原因是什么?它在手动提取时可以正确提取,但在通过命令行提取时不能提取相同的文件。重定向错误应该对您有用: $sourceZip = "Path\Bla.zip\" $destinationForExtraction = "Anotherpath\Bla"

此代码段给出了一个错误
7z:error:CRC失败:SomeFile.exe
。 我已经检查了上述文件的crc。是的,crc不匹配。但使用手动过程(右键单击>提取到文件夹)提取相同的zip文件

有没有办法处理这个异常


7z这些自相矛盾的行为背后的原因是什么?它在手动提取时可以正确提取,但在通过命令行提取时不能提取相同的文件。

重定向错误应该对您有用:

$sourceZip = "Path\Bla.zip\"
$destinationForExtraction = "Anotherpath\Bla"
7z x $sourceZip "-o$destinationForExtraction" *.exe -y

$cmdoutput现在应该保留该值。

如果希望捕获异常并进行处理,请使用try/catch。如果你在看,为什么会这样?然后,我建议你检查一下其他系统,或者重新安装一次7zip,看看你需要向
7z.exe
@Bill\u Stewart的作者咨询一下。谢谢你的建议。@RanadipDutta谢谢你的建议。我确实试过了。但不幸的是,PowerShell在使用外部命令时不支持try/catch。在这种情况下,7z是一个外部命令而不是.NET命令,因此无法使用try/catch捕捉异常。我尝试使用$LASTEXIT代码,但也不起作用。
$cmdOutput = 7z x $sourceZip "-o$destinationForExtraction" *.exe -y 2>&1