Powershell 找不到某些文件

Powershell 找不到某些文件

我最近遇到了一个问题,Powershell(仅限 Powershell)拒绝运行某些文件。在 Powershell 之外,例如在 explorer 或 cmd 中,一切正常。

但在 Powershell(版本 7.0.3)中,某些.lnk文件(我我的$env:PATHEXT)出现错误并失败ResourceUnavailable: Program '[name]' failed to run.,并且某些(不相关的).exe文件似乎根本不存在 - 其他文件可能也是这种情况,但我还没有注意到。

无论我是否提供相关文件的完整路径,也不管它们当前是否在我的$env:Path.

.exe以下是受影响文件之一在 cmd 中的比较结果

D:\>C:\Windows\system32\wsl.exe --list
Windows Subsystem for Linux Distributions:
Ubuntu-20.04 (Default)

D:\>pwsh -c "C:\Windows\system32\wsl.exe --list"
C:\Windows\system32\wsl.exe: The term 'C:\Windows\system32\wsl.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.

.lnk以下是受影响的文件之一

D:\>gimp.lnk --license && echo Runs fine!
Runs fine!

D:\>pwsh -c "gimp.lnk --license && 'Runs fine!'"
ResourceUnavailable: Program 'Gimp.lnk' failed to run: Det går inte att hitta sökvägen.At line:1 char:1
+ gimp.lnk --license && 'Runs fine!'
+ ~~~~~~~~~~~~~~~~~~.

D:\>pwsh -c "& 'C:\Program Files\GIMP 2\bin\gimp-2.10.exe' <# The shortcut target #> --license && 'Runs fine!'"
Runs fine!

编辑:按照建议更新至 v7.1.0 预览版这个答案没有解决任何一个问题。

这是怎么回事?我该如何解决?

答案1

事实证明,我有一个 x64 处理器,但安装了 x86 版本的 Powershell。通过安装 x64 版本的 Powershell 解决了这两个问题。

相关内容