4

在 ISE 中编写 powershell 脚本时,我有类似的东西(我用 执行F5):

Function DoSomethingNow
{
    "What am I doing?"
}

DoSomethingNow

问题是如果我重命名或删除DoSomethingNow它在会话中仍然可用。这会导致混淆,因为我的脚本将继续工作,而我预计在缺少该功能时会出现错误。

我只能假设我需要在每轮调试后清除会话,但是看来这只能通过重新启动 ISE(因此重新启动 powershell 会话)来实现。

因此我问:

  • 是否可以清除会话以便DoSomethingNow不再在范围内?
  • 重复调试和执行powershell脚本的“正确”方法是什么?
  • 也许我没有以正确的方式使用 ISE?

我很感激被指出正确的方向。

4

1 回答 1

3

Remove-Item您可以使用和“删除”该功能Function PSDrive

Remove-Item Function:\DoSomethingNow

如果您将此添加到脚本的末尾并删除每个函数(我希望仅在调试情况下),您每次都会有一个新的开始。如果您正在设置别名和环境变量,您可以对它们执行类似操作。

您可能还想查看$Error.Clear()以清除$Error对象中的任何条目,以及Remove-Variable(您可能会猜到这个条目的作用)。

于 2013-04-30T15:15:14.800 回答