技術情報コラムColumn
バッチファイルでのVBScriptの利用
技術解説
前回のコラム「VBScriptでループ制御」では、Do While文によるループ処理を紹介いたしました。
今回のVBScript入門の第6回は、バッチファイルでVBScriptを利用する方法について説明いたします。
では早速、バッチファイルを作成してみましょう。
また、ファイルへのリダイレクト機能を使う場合は、「wscript」コマンドは使用できません。必ず「cscript」コマンドを指定してください。
今回はここまでです。また次回のコラムをお待ちください。
① メモ帳を起動して、下図のように入力します。
② 「C:\Script」フォルダに「第6-1回.bat」という名前で保存します。
(「C:\Script」フォルダに、第2回のコラム「VBScriptで文字の入力」で作成した「第2回.vbs」ファイルがない場合は、過去のコラムを参照して作成しておいてください。)
③ メモ帳を終了し、エクスプローラで「C:\Script」フォルダを開きます。
④ 「第6-1回.bat」ファイルをダブルクリックします。「質問」ダイアログボックスが表示されましたら、ご自身のお名前を入力して「OK」ボタンをクリックしてください。
⑤ 下図のように「質問」ダイアログボックスに入力した名前がコマンドプロンプトに表示されたと思います。
では、バッチファイルのVBScript部分について説明いたします。
VBScriptをバッチファイルから実行する場合は、以下のように記述します。
cscript スクリプトファイル名
この場合、スクリプト中の「Wscript.Echo」での出力はダイアログボックスではなく、コンソールに出力されます。もし、スクリプトファイルをダブルクリックした場合と同じく、「Wscript.Echo」での出力をダイアログボックスで行いたい場合は、「Cscript」の部分を「Wscript」に書き換えることによって同じ結果を得られます。
バッチファイルでスクリプトを実行する場合は、バッチファイルでよく使われるリダイレクト機能やパイプ機能も使用できます。例としてリダイレクト機能を使用してVBScriptで入力した文字列をファイルに出力する方法を紹介いたします。
① メモ帳を起動して、下図のように入力します。
② 「C:\Script」フォルダに「第6-2回.bat」という名前で保存します。
③ 「第6-2回.bat」ファイルをダブルクリックします。「質問」ダイアログボックスが表示されましたら、ご自身のお名前を入力して「OK」ボタンをクリックしてください。
④ 下図のように「C:\Script」フォルダに「第6-2回.txt」が作成され、「質問」ダイアログボックスに入力した名前が「第6-2回.txt」に保存されたと思います。
では、バッチファイルのVBScript実行部分について説明いたします。
VBScriptの出力をファイルにリダイレクトする場合は、以下のように記述します
cscript //nologo スクリプトファイル名 > 出力するファイル名
ファイルにリダイレクトする場合、「cscript」と「スクリプトファイル名」の間に「//nologo」オプションを記述します。このオプションを指定しなかった場合は、リダイレクトされたファイルに意図しない以下の内容も出力されてしまいます。
Microsoft (R) Windows Script Host Version 5.8 Copyright (C) Microsoft Corporation. All rights reserved. |
◆他の回のコラムを見る
第1回 | VBScriptで簡単なスクリプトを書こう |
第2回 | VBScriptで文字の入力 |
第3回 | VBScriptで条件分岐処理 |
第4回 | VBScriptで条件分岐処理 その2 |
第5回 | VBScriptでループ制御 |
第7回 | VBScriptでのコマンドライン引数の使い方 |