テクニカルFAQ

質問

PowerChute Network Shutdown/PowerChute Business Editionにおいて、Windowsでコマンドファイルを実行する場合の制限事項

WindowsでPowerChute Network Shutdown/PowerChute Business Editionからコマンドファイルを実行する場合、コマンドファイルの2行目以降が実行されないことがあります。

 

Windowsの場合、PowerChute Network Shutdown/PowerChute Business Editionからコマンドファイルを実行する場合、コマンドファイルの2行目以降が実行されないことがあります。
この場合には下記の対策を実施して下さい。

1. コマンドファイルの先頭に”@echo off”を追加し、最終行に”@echo on”を追加します。

  • (例)
    @echo off

    ・・・
    date /T >> c:\temp\out.txt
    time /T >> c:\temp\out.txt
    ・・・

    @echo on

2. コマンドファイルの各コマンドの先頭に ”@START”を追加します。
各コマンドにスペースが含まれる場合は""で囲む必要があります。また、パラメータを渡す場合、""の後に追加して下さい。
  • (例)
    ・・・
    @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
    -------------------------------------------------------

【原因】
コマンドファイル実行機能は、Javaのメソッド Runtime.exec()を使用してコマンドファイルを実行しています。
このRuntime.exec()については、引数に渡されたコマンドの構文解釈についての問題が色々報告されております。
「NET SEND *」につきましても同様にコマンド解釈が正常に行われないものと思われます。


【回避策】
「NET SEND」コマンドにて、「*(グループ全体)」を使用する事は出来ません。
コマンドファイル実行機能で「NET SEND」コマンドを使用する場合は、個別の送信先を指定するようにお願い致します。
 
これは役に立ちましたか?
私たちは情報を改善するために何ができるのでしょうか?