gpt4 book ai didi

Powershell突然打开cmd.exe执行bats

转载 作者:行者123 更新时间:2023-12-03 16:41:47 27 4
gpt4 key购买 nike

直到昨天,我在 powershell 中使用任一脚本执行了一个脚本

"foo.bat"

或者
"cmd /c commandhere"

它会在 Powershell 中运行命令并打印输出。现在从今天起它不再找到“cmd”,当使用“cmd.exe”或执行 bat 脚本时,它将打开 cmd 窗口,而不是在 powershell 中运行脚本。

有人知道这是否可以配置,或者我如何才能回到在 powershell 中执行脚本?

编辑:我的环境是:
PS C:\> echo $env:Path
C:\Windows\system32;C:\Windows\;C:\Windows\System32\Wbem;C:\Windows\system32\WindowsPowerShell\v1.0\;C:\xampp\php;C:\code\azure\bin;%SystemRoot%\system32\WindowsPowerShell\v1.0\;C:\Windows\System32

最佳答案

PATHEXT 环境变量决定了哪些文件被认为是“可执行的”,从而在控制台输出中内联显示。打印 $env:pathext 的值并确保其中包含 .BAT。

如果 .BAT 未列出,您可以在 Powershell 中使用以下命令将其重新添加:

$pathext = [Environment]::GetEnvironmentVariable("PATHEXT", "Machine")
[Environment]::SetEnvironmentVariable("PATHEXT", $pathext+';.BAT', "Machine")

这应该会导致 .bat 文件在 Powershell 控制台中显示内联输出。要使其生效,您必须重新启动 Powershell 或将 .BAT 添加到 Powershell 进程自己的 PATHEXT 变量副本中:
$env:pathext = "$env:pathext;.BAT"

关于Powershell突然打开cmd.exe执行bats,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8181490/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com