2013-02-26 24 views
31

Tôi muốn đặt Tùy chọn khôi phục trên Dịch vụ Windows tôi đang cài đặt trên Windows Server 2003. Tôi biết điều này có thể thực hiện theo cách thủ công nhưng tôi muốn đặt Cấu hình khôi phục khi tôi cài đặt dịch vụ.Sử dụng SC để cài đặt dịch vụ windows và sau đó đặt thuộc tính khôi phục

tôi sử dụng SC kịch bản để làm điều này:

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" 

Vấn đề là khi khoảng trắng đầu tiên được nhấn, nó cắt đứt con đường và mất phần còn lại của con đường như các thông số đầu vào:

screendump here

... vì vậy, trong hộp thoại thuộc tính cho dịch vụ (chạy -> services.msc -> nhấn chuột phải MyService -> properties -> phục hồi tab) tôi chọn "failur tiếp theo es -> Chạy Chương trình

Như bạn có thể thấy tôi đã đặt "" quanh đường dẫn trong lệnh. Làm cách nào để tạo khoảng trắng trong đường dẫn? Tôi biết tôi chỉ có thể làm cho một con đường không có khoảng trắng, nhưng đó không phải là điểm :-)

Trả lời

14

Cú pháp này dường như làm việc:

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

Ah, đó là nó! Cảm ơn nhiều. Tất nhiên đó là dấu gạch chéo ngược. Và cảm ơn bạn đã nhìn thấy qua các đường dẫn screwup. – user2110298

+0

Đã lưu ngày của tôi! Cảm ơn! –

+0

Là một lưu ý thú vị, ký tự bảo vệ trong dòng lệnh của Windows là '^'. Nhưng những gì mong đợi khi nó là * cần thiết * để có một không gian sau khi '=' (thở dài) – Matthieu