ローカル スケジューラ文字の解析およびコマンド ライン

ローカル スケジューラはコマンド ラインに標準の空白区切りの解析を使用します。これはパラメータに空白がある場合、引用符で囲む必要があることを意味します。たとえば /start など、特定のパラメータには常に空白が含まれているので必ず引用符で囲まなければなりません。その他のパラメータ、たとえば /exe や /cmd は空白が含まれていないこともあるので引用符で囲むときと囲まないときがあります。

次の例に示すのは引用符で囲む必要のないコマンド ラインです。

LocalSch.exe /exe=c:\windows\system32\cmd.exe

次の例に示すのは引用符で囲む必要のあるコマンド ラインです。

LocalSch.exe /exe="%ProgramFiles%\MyProgram\myprog.exe" /cmd="/apm /s /ro"

すでに引用符で囲んであるパラメータ

/cmd= に渡されるパラメータが既に引用されている場合は、文字列全体の引用、2 番目に引用された値の引用、さらに 3 番目に引用された値の引用を設定するために 3 つの引用符が必要になりす。

たとえば次のコマンド ラインは三重引用符で囲む必要のあるパラメータの例です。

LocalSch.exe /exe="%ProgramFiles%\LANDesk\File Replicator\LANDeskFileReplicatorNoUI.exe" /cmd="""%ProgramFiles%\LANDesk\File Replicator\LDHTTPCopyTaskConfig.xml"" ""%ProgramFiles%\LANDesk\File Replicator\replicator.log"""

上のコマンドで、2 つのパラメータはファイルへのパスです。いずれのパスも “Program Files”ディレクトリ内にあるため、LANDeskFileReplicatorNoUI.exe の正しいパラメータとするにはスペースが必要なほか、三重引用符で囲まなければなりません。つまり引用符で囲んであるパラメータをもう一度囲み、さらに文字列全体を囲みます。

リダイレクション演算子を引用符で囲む

リダイレクション演算子を含むスイッチは引用符で囲む必要があります。リダイレクション演算子には次の記号が含まれます。<, >、|。/bw スイッチは、パイプまたはバーと呼ばれる | 文字を使用します。| 記号はコマンド プロンプトで別のアプリケーションに出力するときに使用します。この文字がコマンド ラインによって解析されないようにするには、引用符で囲まなければなりません。

たとえば次のコマンドは | 記号を含む /bw パラメータを使用するので、引用符で囲む必要があります。

LocalSch.exe /exe=C:\ldclient\myprogram.exe /cmd="/apm /s /ro" /bw="LAN|server"