Powershell 在新窗口中运行所有外部命令,省略输出

Powershell 在新窗口中运行所有外部命令,省略输出

如主题所述,我的 powershell 环境在单独的窗口中执行所有外部命令。在我团队的构建脚本的典型测试运行中,这包括以下内容:

  • 为 sln 中的每个项目运行 nuget.exe
  • nunit 测试运行器

这很烦人。这种行为实际上阻止我在运行 psake 构建时进行多任务处理,因为每当出现/消失新窗口时,它都会夺取我的鼠标/键盘焦点。它还会吞噬我们构建过程中各个步骤的宝贵输出。

按照https://stackoverflow.com/questions/8181490/powershell-suddenly-opens-cmd-exe-for-executing-bats,我检查了 $env:PATHEXT,但它设置正确(在其项目中包含 .EXE,它是一个以分号分隔的列表)。

我是团队中唯一看到这种行为的成员,它似乎与我的用户的一些全局/漫游配置文件有关,因为即使在我重新映像我的机器后它仍然会发生。

任何帮助都将不胜感激,并且我可以根据要求提供更多信息。

答案1

脚本是如何编写的?我的第一反应是使用带有 -NoNewWindiw 参数的 Start-Process。

答案2

我遇到了同样的问题,过了一段时间发现,如果删除当前工作目录,就会出现以下行为:命令在单独的命令窗口中运行。因此:确保工作目录存在。

相关内容