2012-01-25 9 views
0

私は1日に数回走るpowershellスクリプトを書いた。手動で(Powerguiやシェルから)スクリプトを実行するのはやや面倒なことになるので、私は変数の入力を促すフロントエンドを作りたいと思っています。私はPrimalformsが必要に応じて調整できる事前入力フィールドを私に供給できることを発見しました。スクリプトBのすべての変数をスクリプトAから開始する

私の問題はGUIを作成して、すべての変数を外部スクリプトに渡すことです(このスクリプトは既に書かれており、Primalformsプロジェクトの一部ではありません)。 どうすればいいですか?または、変数を手動で渡す必要がありますか?どうすればいい? (これはPrimalformsに固有のものではないと思います。別のスクリプトを入力としてスクリプトを実行しています)

ご協力いただけると助かります。

答えて

3

スプラットを使用してください。ハッシュテーブル(キー名はパラメータ名と一致)のパラメータのすべての値を収集し、各名前に、フォームの対応するテキストfeildからのパラメータの値を割り当てます。次に、スクリプトBにハッシュテーブルを渡します。次の例では、filterとpathという名前の2つのテキストフィールドがあると仮定しています。

## scriptA ## 

$params = @{ 
    path=$path.text 
    filter=$filter.text 
} 

D:\Scripts\scriptB.ps1 @params 
+0

ありがとうございました。誰かがもっと読んでみたいと思えば:http://blogs.technet.com/b/heyscriptingguy/archive/2010/10/18/use-splatting-to-simplify-your-powershell-scripts.aspxスクリプトAからスクリプトBを起動します。 – Sune

+0

申し訳ありませんが、私はあなたに従っていないです。スクラップBをAから開始するには、スクリプトAでハッシュテーブルを作成し、それをスクリプトBに渡します(例:D:\ Scripts \ scriptB.ps1 @params) –

関連する問題