【发布时间】:2016-09-06 05:52:08
【问题描述】:
为什么我不能在以下 PowerShell 脚本中运行 7z?
Set-Location "C:\Program Files\7-Zip"
Invoke-Expression "dir"
Invoke-Expression "7z"
Invoke-Expression "7z.exe"
结果:
Directory: C:\Program Files\7-Zip
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 11/18/2010 9:08 PM 91020 7-zip.chm
-a--- 11/18/2010 9:08 PM 86016 7-zip.dll
-a--- 11/18/2010 9:24 PM 1422336 7z.dll
-a--- 11/18/2010 9:08 PM 284160 7z.exe
-a--- 11/18/2010 9:27 PM 162816 7z.sfx
-a--- 11/18/2010 9:27 PM 152064 7zCon.sfx
-a--- 11/18/2010 9:10 PM 740352 7zFM.exe
-a--- 11/18/2010 9:11 PM 387072 7zG.exe
-a--- 9/10/2010 11:41 AM 333 descript.ion
-a--- 11/18/2010 9:11 PM 32400 History.txt
-a--- 1/2/2010 3:18 PM 1927 License.txt
-a--- 11/18/2010 9:12 PM 1565 readme.txt
7z : The term '7z' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included,
verify that the path is correct and try again.
At line:1 char:1
+ 7z
+ ~~
+ CategoryInfo : ObjectNotFound: (7z:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
7z.exe : The term '7z.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
At line:1 char:1
+ 7z.exe
+ ~~~~~~
+ CategoryInfo : ObjectNotFound: (7z.exe:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
【问题讨论】:
-
7z 在 powershell 中处理起来很麻烦。您需要使用 & 语法。这是让它发挥作用的唯一方法。
-
查看these uses of & and Start,看看他们是否有助于解决问题
-
我试过
Invoke-Expression "& 7z",但它仍然给了我一个错误。我是否正确使用了&? -
因为当您在 PowerShell 中的文件夹中时,除非您首先指定
.\,否则您无法直接在该文件夹中运行东西,例如.\7z.exe. -
谢谢。
Invoke-Expression "./7z"工作。.\7z也有效。
标签: powershell