2011年4月20日水曜日

Windowsの自作バッチファイルをコマンド化する手順

Windowsでバッチファイルを作成しておき、それをコマンドとして使いたい場合の手順です。

例えば、Windows組み込みコマンドには、処理を一時的に止める'sleep'的コマンドがありません。
そこで、pingを使ったsleepコマンドもどきをバッチファイルで作成します。
@echo off
:: sleep 指定秒スリープバッチファイル(規定値:3秒)

set sec=3
if "%1" neq "" (
set sec=%1
)

for /l %%i in (1,1,%sec%) do @ping localhost -n 2 > nul


※-wオプションとサブルーチンを使ってもう少しスマートに書けるようです。
cf.バッチファイルでSleep - エンジニアの魂


これを以下の手順に従ってコマンド化します。

1.自作バッチファイルを配置するフォルダを決めて、なければ作成しておく
(例) C:\bin 以下

2.環境変数のPATHに配置フォルダを追加
(例) GUI操作 もしくは コマンドプロンプトで set PATH=%PATH%;C:\bin
※GUI操作をした場合、新規に立ち上げたコマンドプロンプトから反映される。もし反映されない場合はOS再起動。

3.自作バッチファイルを作成してフォルダに配置。ファイル名は、"コマンド名.bat"
(例) sleep コマンドを作りたいなら、ファイル名を sleep.bat にする

4.コマンドプロンプトを開いて、コマンド名[+引数]+Enterキー 押下
(例) >sleep[ENTER]

ファイル作成してパス通す、Linuxと基本的に同じですね。