Windows PowerShell ISE运行旧版本

时间:2013-09-26 08:56:34

标签: powershell powershell-ise

我正在使用Windows PowerShell ISE编写PowerShell脚本。当我更改脚本中的某些内容并运行脚本时,不会执行最后保存的脚本版本,而是执行旧版本。只有当我第二次运行脚本时,它才会使用当前版本。如何始终运行最新版本的脚本?

2 个答案:

答案 0 :(得分:3)

这是一个非常古老的问题,但我认为我遇到了同样的问题。在我的情况下,我在调用它后定义了一个函数。它似乎工作,但只是因为“myfunc”仍然具有上一次调用的值。如果您更改“Hello,World!”,您会发现新值仅在第二次尝试时生效。

Invoke-Command -ScriptBlock ${function:myfunc}

function myfunc() {
    Write-Host "Hello, World!"
}

要解决此问题,只需定义您尝试调用之前的功能。

function myfunc() {
    Write-Host "Hello, World!"
}

Invoke-Command -ScriptBlock ${function:myfunc}

答案 1 :(得分:1)

进行编辑后,您需要通过点源来再次获取脚本。假设您在当前目录中有一个名为MyScript.ps1的文件,则在控制台中运行以下命令:

. .\MyScript.ps1

如果你想在脚本中调用特定的函数,那么你可以这样做:

. .\MyScript.ps1
MyFunction