はじめに
これまでの記事
対象読者
- Windows PowerShellでコマンドレット操作ができる方(基礎編に書いてある程度のことが理解できていること)
- 何らかのプログラミング経験があればなお良い
必要環境
- Windows PowerShell
スクリプトの直接入力
PowerShellにおけるスクリプトは、コマンドレット、変数、パイプ、ifやforといった制御構文を組み合わせて使用します。
では、まず簡単なスクリプトをコンソールウィンドウに直接書いてみましょう。
Windows PowerShellを起動し、下記コードを入力してください。下記コードの最後の}
を入力したら[Enter]キーを2回押します。スクリプトの入力が完了し、結果が表示されます(コンソールウィンドウ上でスクリプトを記述している間は1番左側に>>
が表示されます。このとき[Enter]キーを2回続けて入力すると、スクリプトの入力を完了し、そこまで書いていたコードを実行します。途中で入力を間違えた場合は[Ctrl]キー+[C]キーで中断することができます)。
PS C:\Work> if ( Test-Path "Test.txt" ) >> { >> Write-Host "Test.txtは存在します" >> } >> else >> { >> Write-Host "Test.txtは存在しません" >> } >>
このコードは、カレントディレクトリに対してTest.txt というファイルの存在を確認し、存在した時と存在しない時とで表示するメッセージを変えています。
少し補足説明をします。まずif
ですが、
if (条件式) { }
のように記述します。
ifは( )
の中に記述した条件式が満たされると、すぐ下の{
から}
までに書かれたコードを実行します。条件を満たさなかった場合はelse
を実行します。
- Test-Pathコマンドレット
- Write-Hostコマンドレット
よって今入力したスクリプトは、カレントディレクトリに「Test.txt」ファイルが存在すれば、「Test.txtは存在します」という文字列を、ファイルが存在しなければ「Test.txtは存在しません」という文字列を表示します。
このようにPowerShellでは、コンソールウィンドウ上で直接スクリプトを実行することが可能です。しかし決まり切ったスクリプトなどは、毎回コンソールウィンドウで入力するのは面倒です。PowerShellでは、スクリプトをファイルに保存して何度でも利用できるように設計されています。
では、スクリプトファイルはどのように作成したらいいのでしょうか。