1

PowerShell を起動するたびに読み込まれる個人用の PowerShell プロファイルに、関数を呼び出して一連の関数を含めたいと考えています。

だから私はこのようなことをしたい:

function loadMyFunctions{
    . \MyFunctions.ps1
}

今、MyFunctions.ps1私は関数を持っています:

function bobtest{
    write-host "My name is Bob Newhart."
}

スクリプト MyFunctions.ps1 をロードできますが、スクリプトがロードされた後bobtest、コンソールで呼び出すことができません - エラー メッセージが表示されますThe term bobtest is not recognized...

ただし、関数の外部でスクリプトをロードするだけで、そのスクリプトがロードされ、bobtest通常どおり呼び出すことができます。MyFunctionsつまり、プロファイルがロードされているときにロードできないということはありません。ロードする必要MyFunctionsがあり、選択できません。

ほら、他の機能をオンデマンドでロードし、選択するまで利用できないようにしたいのです。

これを行う別の方法はありますか、それとも可能ですか?

4

2 に答える 2

1

最善の方法は、モジュールを使用することです。それでも、別の方法で取得したい場合は、自分のアプローチを試すことができます。

私が実行した以下のスクリーンショットを参照してください。

単純に加算を行う関数の加算があり、それをfunct1.ps1として保存しました

今、モジュールとして使用せずにドットソースを使用するだけで、他のスクリプトの別の関数から同じ関数を呼び出しており、適切な結果が得られます。

Funct1.ps1

ここに画像の説明を入力

別のスクリプトの別の関数から関数をトリガーしました。

ここに画像の説明を入力

それが役に立てば幸い...!!!

于 2016-12-16T06:47:13.660 に答える