WindowsでPowerChute Network Shutdown ならびに PowerChute Business Editionから
コマンドファイルを実行する場合の制限事項を記載します。
【概要】
Windowsでは、PowerChuteからコマンドファイルを実行する場合に
コマンドファイルの2行目以降が実行されないことがあります。
【対策】
以下の対策を実施して下さい。
1. コマンドファイルの先頭に ” @echo off ” を追加し、最終行に ” @echo on ” を追加します。
[例]
各コマンドにスペースが含まれる場合は "" で囲む必要があります。
また、パラメーターを渡す場合、"" の後に追加して下さい。
[例]
尚、上記対策を実施しても実行されないコマンドが以下に確認されております。
【現象】
「NET SEND」コマンドにて、「*(グループ全体)」を使用するとメッセージが送信されない。
[例]
【原因】
コマンドファイル実行機能は、Javaのメソッド Runtime.exec()を使用してコマンドファイルを実行しています。
このRuntime.exec()については、引数に渡されたコマンドの構文解釈についての問題が色々報告されております。
「NET SEND *」につきましても同様にコマンド解釈が正常に行われないものと思われます。
【回避策】
「NET SEND」コマンドにて、「*(グループ全体)」を使用する事は出来ません。
コマンドファイル実行機能で「NET SEND」コマンドを使用する場合は、
個別の送信先を指定するようにお願い致します。
@echo off
・・・
date /T >> c:\temp\out.txt
time /T >> c:\temp\out.txt
・・・
@echo on
2. コマンドファイルの各コマンドの先頭に ” @START ” を追加します。・・・
date /T >> c:\temp\out.txt
time /T >> c:\temp\out.txt
・・・
@echo on
各コマンドにスペースが含まれる場合は "" で囲む必要があります。
また、パラメーターを渡す場合、"" の後に追加して下さい。
[例]
・・・
@START c:\temp\mybat1.bat
@START c:\temp\mybat2.bat
・・・
@START "c:\Program Files\Windows NT\hyperterm.exe" parameter
・・・
@START c:\temp\mybat1.bat
@START c:\temp\mybat2.bat
・・・
@START "c:\Program Files\Windows NT\hyperterm.exe" parameter
・・・
尚、上記対策を実施しても実行されないコマンドが以下に確認されております。
【現象】
「NET SEND」コマンドにて、「*(グループ全体)」を使用するとメッセージが送信されない。
[例]
送信先ホストを指定している3行目のみメッセージが送信され、
グループ全体に対してメッセージを送信する2行目が実行されない。
-------------------------------------------------------
@ECHO OFF
NET SEND * Message1
NET SEND Host-Name Message2
@ECHO ON
-------------------------------------------------------
グループ全体に対してメッセージを送信する2行目が実行されない。
-------------------------------------------------------
@ECHO OFF
NET SEND * Message1
NET SEND Host-Name Message2
@ECHO ON
-------------------------------------------------------
【原因】
コマンドファイル実行機能は、Javaのメソッド Runtime.exec()を使用してコマンドファイルを実行しています。
このRuntime.exec()については、引数に渡されたコマンドの構文解釈についての問題が色々報告されております。
「NET SEND *」につきましても同様にコマンド解釈が正常に行われないものと思われます。
【回避策】
「NET SEND」コマンドにて、「*(グループ全体)」を使用する事は出来ません。
コマンドファイル実行機能で「NET SEND」コマンドを使用する場合は、
個別の送信先を指定するようにお願い致します。