2010-07-30 92 views
2

我嘗試從另一個腳本中啓動腳本的功能。 我想將回報保存到變量中,但這不起作用。powershell函數返回

script1.ps1:

function test 
{ 
    return "hallo" 
} 

script2.ps1:

./script1.ps1; $p=test 

or 
$p = ./script1.ps1; test 

似乎$p是空的,但我不知道什麼是錯。 任何人都可以幫我嗎? THX

回答

4

試試這個:

. ./script1.ps1; $p=test 

爲什麼:你必須加載功能到當前範圍(這是在開始時期 - 點源操作)。

如果使用「;」,那麼全新的語句開始。因此,例如$p = ./script.ps1; test,您將script.ps1的輸出分配給$p,然後運行該函數。

+0

這不是一個逗號,< - 也就是說;這是一個時期。 < - 像那樣;-) – x0n 2010-07-30 14:51:08

+0

thx現在它工作完美 – lepi 2010-07-30 15:01:44

+0

@ x0n,當然。 Thx糾正;) – stej 2010-08-01 17:00:45