问题描述
我已经尝试过命令
if (-not (Get-Command Expand-7Zip -ErrorAction Ignore)) {
>> Install-Package -Scope CurrentUser -Force 7Zip4PowerShell > $null
>> }
PS C:\Users\noufal p> Expand-7Zip C:\Amazon\abc123d-setup.tar C:\awsUsers\%USERNAME%\Downloads
但出现错误 => 路径 'C:\Amazon\abc123d-setup.tar' 要么不存在,要么不是有效的文件系统路径。
解决方法
我怀疑错误消息是错误的 - 我认为它实际上是在抱怨输出位置?有几件事让我很吃惊:
c:\awsUsers\
- 这是正确的/它存在吗?
%USERNAME%
- 可能应该是 $env:USERNAME
(您是否尝试过对值进行硬编码并查看是否有效?)
基于以上假设,您可以尝试:
Expand-7Zip C:\Amazon\abc123d-setup.tar "C:\Users\$env:USERNAME\Downloads"
或者干脆去掉中间人,直接用7z.exe:
start-process -FilePath "C:\Program Files\7-Zip\7z.exe" -ArgumentList @("x -ttar C:\path\to\a\archive.tar -oc:\path\to\output")