1 MS-Windows のスクリプト環境

Unix には「小さいプログラムを使い回したり、組み合わせて使う」ための環境として、 対話型シェル環境やシェルスクリプトがあります。 MS-Windows にもそれに近いものとして、以下のものが用意されています。

表 1: バッチ環境、WSH、PowerShell の特徴

  バッチ環境 WSH PowerShell
対話環境 コマンドプロンプト なし ある (専用のシェルウィンドウ)
スクリプト言語 バッチファイル (.bat) VBScript (.vbs), JScript (.js) 等 専用のスクリプト言語 (.ps1)
構文や変数 一応使える 使える 使える
外部コマンドやモジュール 一応ある ある (オートメーションオブジェクト) 一応ある
パイプ、リダイレクション ある (ファイルベース) 少なくとも簡単なものはなさそう ある (オブジェクトベース)
実行ファイル cmd.exe wscript.exe (cscript.exe) PowerShell.exe
XP では そのまま使える そのまま使える 要インストール
歴史 MS-DOS から1 Windows 98 から2 2007 年リリース3


本稿ではこれらのうち、手軽で、 非常に古くから使われているバッチファイルによる スクリプトプログラミングについて紹介します。 これにより、小さいプログラムしか作れない人、 あるいはプログラムを作ったことがない人でも、 定型作業の自動化や、複数のソフトの連携、 小さなソフトの繰り返しの使用などが行えるようになるのでは、と思います。

なおコマンドプロンプトでは、通常


C:\Documents and Settings\hoge\My Documents> dir
のように、 現在自分のいるディレクトリが記号 > の左に表示されていて、 ユーザが実際に入力するのは > より右側の部分 (上の例では dir) なのですが、これだと無駄な表示部分が長いので、 以後コマンドプロンプトの例示では、 特別な場合を除いて、カレントディレクトリ部分は省略して

> dir
のように表記することとします。 そして、このように > から始まる例示は コマンドプロンプトでの実行例を意味することにしますので、 実際に試す場合は先頭の > は入力しないでください4。 なお、この > も含めてその左側の部分に表示されるものについては、 prompt コマンドで変更することができます (詳しくは help prompt 参照)。

また、本稿は MS-Windows XP のコマンドプロンプトを仮定して書いているため、 XP 以前の MS-Windows (特に「MS-DOS プロンプト」と呼ばれていたソフト) には当てはまらない記述も多少ありますので注意してください。

竹野茂治@新潟工科大学
2014年5月2日