我正在从C#代码运行sc delete命令。但它总会回来,
[SC] OpenService FAILED 1060:“指定的服务不作为已安装的服务存在”
我尝试多次执行代码,但仍然遇到同样的错误。但是如果我转到命令提示符并执行命令,该服务将被成功删除。
是的,如果我在命令提示符下再次执行该命令,则会给出上述相同的错误。所以我想知道,为什么它不会从C#代码中删除,我错过了什么?
var procStartInfo = new ProcessStartInfo("cmd.exe", "/c sc delete 'myService'")
{
RedirectStandardOutput = true,
UseShellExecute = false,
CreateNoWindow = false
};
var proc = new Process { StartInfo = procStartInfo };
proc.Start();
// Get the output into a string
var result = proc.StandardOutput.ReadToEnd();
答案 0 :(得分:4)
单引号。他们不工作。
var procStartInfo = new ProcessStartInfo("cmd.exe", "/c sc delete myService")
处理间隔服务名称的双引号,然后您需要转义它们。
var procStartInfo = new ProcessStartInfo("cmd.exe", "/c sc delete \"my Service\"")