2013-02-26 15 views
31

Windowsサービスで復旧オプションを設定したいWindows Server 2003にインストールしています。これは手動で行うことができますが、サービスをインストールするときのリカバリ設定。SCを使用してWindowsサービスをインストールして復旧プロパティを設定する

は、私はこれを行うにはSCスクリプトを使用します

SC create MyService displayname= "MyService" binpath= "C:\Program Files\MyService\MyService.exe" start= auto 

SC failure MyService reset= 86400 actions= restart/1000/restart/1000/run/1000 

SC failure MyService command= "C:\Program Files\Myservice\MyService.exe" 

問題は、最初の空白がヒットしたとき、それはパスを遮断し、入力パラメータとしてパスの残りの部分を取るです:

screendump here

サービス のプロパティダイアログで

そう...(実行 - > services.mscと - >右クリックしたMyServiceを - > [プロパティ] - > [回復]タブを)私は「以降failurを選択es - >プログラムを実行する

私が見る通り、コマンドのパスの周りに ""を置いています。パスの空白を作るにはどうすればいいですか? 私はちょうどいない空白のパスを作ることができます知っているが、それはポイント:-)

答えて

14

ではありません。この構文が動作しているようです:

sc failure MyService command= "\"c:\program files\myservice\myservice.exe\"" 
+0

ああ、それはそれです!どうもありがとうございました。もちろんそれはバックスラッシュでした。パススルーの過去を見てくれてありがとう。 – user2110298

+0

保存しました。ありがとう! –

+0

興味深い副作用として、Windowsコマンドラインの保護文字は '^'です。しかし、 '='(sigh)の後ろにスペースが必要なときに何を期待するのですか? – Matthieu