2017-08-31 10 views
1

PowerShellコンソールでカスタムプロンプトを設定するコマンドを1つ定義しようとしています。 あなたは次のスクリプトでデフォルトのプロンプトを上書きすることができます。PowerShellの関数からプロンプト関数を上書きすることはできますか?

function Prompt { 
    "PS " + "[$(Get-Date)] " + $(Get-Location) + ">" 
} 

だから私は、機能、例えば:Set-CustomPromptとスクリプトの上に呼び出すしたいと思います。

私は既に、スクリプトが外部ps1ファイルから実行されたStackOverflowのソリューションを見てきましたが、定義が同じファイルにあるソリューションを探しています。

答えて

2

あなたSet-CustomPrompt機能がglobal scopesee also)でPrompt関数を定義しておいてください。

function Set-CustomPrompt { 
    function global:Prompt { 
     "PS [$(Get-Date)] $(Get-Location)>" 
    } 
}
0

promptの機能はグローバルスコープである必要があります。しかし、それは別の関数を呼び出すことができます。

ので、関数名を保持するグローバル変数を抽象化のレベルを定義します。

function Set-CustomPrompt { 
    .... 
    $myCustomPropmtFunctionName = ... 
} 

function prompt { 
    &$myCustomPropmtFunctionName; 
} 
関連する問題