PowerShellの覚書
Microsoftのページをもっとも参考とすべきでしょう。 "スクリプトセンター"の"製品とテクノロジ別スクリプト"の "Windows PowerShell に関するスクリプト"にダウンロードへの リンクや資料のリンクがあります。また, インストールした フォルダにも詳細なチュートリアルがついてきます。
スクリプト言語として捕らえていますが, コマンドプロンプトに変わるものと捕らえてもよいと思います。
cmd.exeでは大変だったネットワーク上のパスもなんなく 扱えます。
VBScriptではWMIなどを使用しなければ得られなかった情報が とてもスマートに得られるようになっています。
変数の記法はなんだかperlに似ています。
$ powershell -command 'Write-Output "Hello, PowerShell World!"'
これでHello, PowerShell World!と表示されます。なお, cygwinのbash上から起動しています。また, cmd.exeと違い, カレントディレクトリは ネットワーク上のディレクトリでもOKです。
インストール直後はスクリプトの実行が許可されていません。 無条件でのスクリプトの実行を許可するためにはPowerShellを立ち上げた後, 次のように打ちます。
PS C:\> Set-ExecutionPolicy Unrestricted
この変更はexitしても有効です。
実際には無条件でスクリプトが起動できるのは危険なので,
PS C:\> get-help about_signing
の結果をよく読んで適切なポリシーを決めます。
拡張子は.ps1であるとインストールしたgettingstarted.rtfに書いてあります。
hello.ps1
Write-Output 'Hello, PowerShell World!'
これをhello.ps1に保存し,
$ powershell hello.ps1
とするとHello, PowerShell World!とコンソールに表示されます。
コメントは'#'が使えるようです。/* */と//は 不可のようです。
$ powershell -command '$env:PATH'
# 関数が先に定義されている必要がある。 function Print-Hello { Write-Output "Hello" } Print-Hello # Helloと表示される。