バッチファイルの中で、Wake on LAN のマジックパケットを送信することのできるコマンドとして、nwolc.exe があります。このコマンドは、Wake on LAN ツールであるnWOLに同梱されているコマンドとなっており、
といった基本的な処理の他、GUIツールnWOLと連動した様々な処理が可能となっています。この記事では、ダウンロード・インストールから上記3つの基本動作についてご紹介します。
nWOL は、nWOLのホームページからダウンロードしてください。
インストーラを使うと簡単にインストールができますが、zipファイルをダウンロードして任意のフォルダに展開することでもOKです。
インストーラを使ってインストールすると、nwolc.exe は通常 C:\Program Files\nWOL\nwolc.exe にインストールされます。
コマンドラインから、nWOLc を実行する場合、以下のように実行します。オプション無しで起動するとヘルプが表示されます。(nwolc.exeを別のフォルダに置いている場合は、正しいパスを入力してください。)
C:\>"C:\Program Files\nWOL\nwolc" nWOLc: nWOL console command (Version 1.7.75) -l ["regex"] List all or regex-matched hosts -f ["regex"] List all or regex-matched hosts with full information -a Send magic packet to all WOL-capable hosts -h hostnames... Send magic packet to specified WOL-capable hosts -r "regex" Send magic packet to regex-matched WOL-capable hosts -m mac [ip [mask]] Send magic packet -p hostname Check status of a host(or IP) (retcode=0 when online) -w hostname [waitsec] Wait for a host(or IP) to come online (retcode=0 when online) -t sec Set ping timeout in seconds for -p or -w (default=1) -u port Specify destination UDP port number of Magic Packet -i Ignore case when -l, -f or -r -c filename Configuration file name(Absolute path or User name) -o filename Redirect console output to a file(Absolute path) -v Verbose mode -n No output messages -? Help
フルパスを書くのが面倒な場合、C:\Program Files\nWOL にパスを通しておけば、
C:\>nwolcだけで実行できます。
C:\>set path=%path%;C:\Program Files\nWOL以下、Wake on LANに関する基本的なコマンドの使い方をご紹介します。
最も基本的な使い方は、同一LANのホストに対してマジックパケットを送信する場合になります。 -m オプションを使って以下のように実行します。
C:\>nwolc -m abcdef123456
abcdef123456 は、起動したいホストのMACアドレスを設定してください。
起動したいホストが同一LANではなく遠隔のNWに存在する場合、起動したいホストのIPアドレスとネットマスクを指定する必要があります。例えば、以下のような感じです。
C:\>nwolc -m abcdef123456 192.168.10.20/24
詳細なコマンド例は以下を参照ください。
コマンド例 | 説明 |
---|---|
nwolc -m abcdef123456 |
同一LAN内に存在し、MACアドレスが abcdef123456 であるホストにマジックパケットを送信する。 |
nwolc -m abcdef123456 192.168.1.20 |
同一LAN内に存在し、MACアドレスが abcdef123456、IPアドレスが192.168.1.20 であるホストにマジックパケットを送信する。 |
nwolc -m abcdef123456 192.168.10.20 255.255.255.0 nwolc -m abcdef123456 192.168.10.20 24 nwolc -m abcdef123456 192.168.10.20/24 |
ルータを経由した先に存在し、MACアドレスが abcdef123456、IPアドレスが192.168.10.20、ネットマスクが 255.255.255.0 (24bit) であるホストにマジックパケットを送信する。 |
nwolc -m abcdef123456 192.168.10.255 |
ルータを経由した先に存在し、MACアドレスが abcdef123456、ディレクティッドブロードキャストアドレスが192.168.10.255 であるホストにマジックパケットを送信する。 |
バッチファイルの中で、遠隔ホストの起動状態を調べたい場合は、-p オプションを使います。
C:\>nwolc -p 192.168.1.6 192.168.1.6 is online
上記の実行例のように、ホストが起動中であれば、onlineと表示されます。その他コマンド例は下表ご覧ください。
コマンド例 | 説明 |
---|---|
nwolc -p 192.168.1.6 |
192.168.1.6 の起動状態を調べる。 |
nwolc -p 192.168.1.6 -t 3 |
192.168.1.6 の起動状態を調べる。pingのタイムアウトを3秒に設定する。 |
コマンドのリターンコードは起動中の場合 0、停止中であれば 1 となります。
バッチファイルの記述例:
nwolc -p 192.168.10.20 if %errorlevel%==0 ( <起動状態の時の処理> )else( <停止状態の時の処理> )
※参考:ホストの起動状態はpingコマンドでも確認できますが、Windowsのpingコマンドの場合、「宛先に到達できない(送信先アドレスへのルートがない)場合」についても、戻り値が 0 (正常)となります。nwolc -p では、正常に応答が返ってきた場合以外は全て戻り値が 1 となります。
マジックパケットを送信し、ホストが起動するまで待機する場合は -w オプションを使います。
C:\>nwolc -w 192.168.1.6
この場合、ホストが起動するまで永遠に待ち続けますので、タイムアウトを指定したい場合、以下のように指定します。
C:\>nwolc -w 192.168.1.6 60
この例の場合、60秒間ホストが起動しなければ、タイムアウトとなり終了します。
コマンド例 | 説明 |
---|---|
nwolc -w 192.168.1.6 |
192.168.1.6 が起動するまで永遠に待機する。 |
nwolc -w 192.168.1.6 60 |
192.168.1.6 が起動するまで最大60秒間待機する。 |
nwolc -w 192.168.1.6 60 -t 3 |
192.168.1.6 が起動するまで最大60秒間待機する。pingのタイムアウトを3秒に設定する。 |
起動状態になった場合、戻り値は 0、それ以外(タイムアウトなどの場合)は 1 となります。
バッチファイルの記述例:
nwolc -w 192.168.1.6 60 if %errorlevel%==0 ( <起動した時の処理> )else( <タイムアウト時の処理> )
コンソール画面への文字の出力を行いたくない場合は、 -n オプションを付けることによって、何も表示されなくなります。
上記紹介した機能の他、GUIツールであるnWOLと連動した高度な機能が使用できます。詳しくは以下のページをご覧ください。
Related Articles
管理者より個人的に返信をご希望の方は、コメント中に必ずメールアドレスを記載してください。記載がないと返信できませんのでご注意ください。
If you want personal response from the author, please do not forget to write your email address in the comment. Otherwise, the author can not reply.
投稿されたコメントは手動で処理されるため、記事として登録されるまで1日程度かかります。
Submitted comments will be processed manually. So, please understand it will take about a day to publish your comment.