3

当我通过 Windows 资源管理器上下文菜单中的“使用 PowerGUI 脚本编辑器打开”打开任何 .ps1 时,PowerGUI 首先运行脚本,然后让我编辑它。这种行为是设计使然吗?

如果我运行 PowerGUI 脚本编辑器,然后通过 File |打开.ps1 打开,它不会运行它并让我立即编辑它(期望的行为)。

如何:1) 阻止 PowerGUI 编辑器在打开时首先运行脚本,以及 2) 使用命令行参数执行相同操作(将 PowerGUI 用作帮助应用程序)?

谢谢!

4

2 回答 2

5

PowerGUI 脚本编辑器在启动时会运行几件事:PowerShell 配置文件,以及您选择的任何模块/管理单元。

要禁用 PowerShell 配置文件调用:

  • PowerGUI 脚本编辑器中,转到工具/选项/调试选项并清除加载 PowerShell 配置文件复选框。

确保没有启动任何模块/管理单元/附加组件:

  • PowerGUI 脚本编辑器中,转到文件/PowerShell 库,然后清除列表中的所有复选框。

下次您启动 PowerGUI 脚本编辑器时,它将不再运行任何外部 PowerShell 代码。

于 2011-01-20T18:58:34.393 回答
2

除非这里有不明显的错误,否则 PowerGUI 在使用“使用 PowerGUI 脚本编辑器打开”上下文菜单打开脚本时不会执行脚本,双击它时也不会执行脚本。当您以这种方式打开脚本时,它只是在编辑器中打开它。您将在脚本编辑器的状态栏中看到文本“正在执行脚本...”,这不是因为它正在执行您正在打开的脚本,而是因为它正在执行其他脚本(配置文件、加载模块等)。如果您的脚本正在执行,我会调查它是如何执行的,这可以使用 $MyInvocation 变量和 Get-PSCallStack 来提取该信息来完成。

至于您的其他问题,您可以使用命令行让 PowerGUI 脚本编辑器打开脚本文件。我们有许多合作伙伴使用我们的脚本编辑器来执行此操作。有关可用选项的详细信息,请参阅我们的 wiki http://wiki.powergui.org/index.php/Using_Editor_from_external_applications上的此页面。

于 2011-01-20T19:11:56.680 回答