无法从 Console2 或 Powershell 看到某些程序

bdu*_*kes 5 shell console command-line

我使用Console2来运行各种 shell(git bash、powershell、cmd)。但是,当我运行 Console2 或 Powershell 时,有些程序无法访问,而这些程序可以通过普通的 cmd 提示符访问。为什么会这样,我该如何解决?

例如,该程序bcdedit甚至C:\Windows\System32\在其他 shell 中都看不到(但在 cmd 和 Windows 资源管理器中显示良好,并且在 PATH 中 [即可以从任何目录运行] 在 cmd 中)。

我还在我的机器上安装了Elevation PowerToys,但同样,该elevate命令再次仅适用于 cmd。

小智 9

我无法在我的系统上复制它(win7 64 位,console2 beta 版 2.00.147),但这听起来有点疯狂,我曾用 32 位应用程序启动 32 位 cmd.exe 和迷失在 WOW64 的 system32 文件夹 (%systemroot%\SysWOW64) 中。

如果您运行的是 64 位版本的 windows,我建议您检查您的任务管理器以确认 console.exe 和 cmd.exe 是 32 位还是 64 位。

当时我能够通过创建指向 64 位系统文件夹的符号链接并在我的 32 位进程中从那里显式启动 cmd.exe 来解决这个问题。

cd \windows
mklink /d sysnative system32
Run Code Online (Sandbox Code Playgroud)

然后让我的 32 位应用程序启动 \windows\sysnative\cmd.exe

非常笨拙的解决方法,但如果您遇到同样的问题,它可能会对您有所帮助。