事の顛末
Windows Server上で動くプログラムが必要になったので、PowerShellで書いていたのですが、行数増えてきて見通しが悪くなって気持ち悪くなってきたのと、同じような処理をまとめたくなってきてしまったので、一部の処理を別の.ps1ファイルに分離したくなった次第であります。ちなみにPowerShellは初心者レベルですので、基本ググりながらがんばっている感じです。
結論
ピリオドの後に呼び出したいFileのPathを書けばいいようです。Includeっていうわけではないけれど、呼び出した.ps1が同一コンテキストの中で実行されたことになるみたい。
. ".\some-script.ps1"
ところで、このピリオド何の意味ですか? ああ、Unix系のOSのShellだと、これで普通なんですね。
結局どうしたかというと
いろいろコードをいじりまくった結果、class化したコードを外部のScriptに追い出して、そいつを . でIncludeしたみたいな形にしました。あー、スッキリ。
some-class.ps1
class Something{
SomeThing(){ ... }
ToDo(){ ... }
}
main.ps1
. ".\some-class.ps1"
$someClass = NewObject Something
$someClass.ToDo()
参考文献
PowerShell再入門:13. 外部ファイルを実行する
【 source 】コマンド/【 . 】コマンド――シェルの設定を即座に反映させる