PowerShellでの関数呼び出し

先日PowerShellで開発する必要があって、参考サイトと首っ引きでバッチファイルみたいなものを1本作製したのだが、思わぬところでハマって2時間ほど無駄にしたので、覚書を兼ねてメモ。

その1。関数の呼び出し方。

関数の定義側は、func(arg1, arg2)

でいいんだけど、呼び出す際は、

func arg1 arg2

で呼んでやらないと駄目。これでエラーにでもなってくれればすぐにわかるんだが、エラーにならない。しかも、呼び出し側のarg1とarg2が配列になってarg1に放り込まれ、arg2は空の状態で実行される。これに気が付かなくて、訳のわからん動作をする関数に小一時間悩んだ。

その2。PS1ファイルの実行方法。

実行ファイルまでのフルパスにスペースが入ったディレクトリがあると、普通には動かない。「Program Files」とかありがち。

プロンプトから、> $ “C:\Program Files\test.pd1”

と、パスをダブコーでくくり、頭に「$」をつけてやるんだって。へー。

コメント