sc.exe创建服务问题

转自:http://zengrong.net/post/457.htm

谢谢上位的解释~~

今天重装了系统,Subversion服务也得重装。照例输入代码:

sc create svnserve binpath="d:\PortableApps\svn\svnserve.exe --service -r e:\svn" displayname="Subversion" depend=tcpip start=auto

可是居然出现了下面的提示:

D:\PortableApps\svn>sc create svnserve binpath="d:\PortableApps\svn\svnserve.exe
 --service -r e:\svn" displayname="Subversion" depend=tcpip start=auto
Creates a service entry in the registry and Service Database.
SYNTAX:
sc create [service name] [binPath= ]  ...
CREATE OPTIONS:
NOTE: The option name includes the equal sign.
 type= 
       (default = own)
 start= 
       (default = demand)
 error= 
       (default = normal)
 binPath= 
 group= 
 tag= 
 depend= 
 obj= 
       (default = LocalSystem)
 DisplayName= 
 password= 

我仔细检查注册表,没有同名的服务啊!浪费了半小时,才搞清楚,binpath=、dispalyname=、depend=后面是必须要有一个空格的。否则就会执行不成功。这语法,太奇怪了……
所以,正确的代码应该是这样:

sc create svnserve binpath= "d:\PortableApps\svn\svnserve.exe --service -r e:\svn" displayname= "Subversion" depend= tcpip start= auto

那么,原来我是怎么执行成功的呢?仔细想了想,以前的代码是直接从SVN帮助中复制的 :em23:

下面摘自:
http://blog.csdn.net/wangchengsi/article/details/5926877
 
  
sc delete svn
以上命令删除刚刚创建的名为“svn”的服务。要注意的是,删除后记得关闭命令行窗口,才会生效。如果你在删除后立即重新运行上面的sc create命令,会报错“CreateService FAILED 1072”
但是,如果你的svn安装在带有空格等特殊字符的路径,比如 program files,亦或者svn的仓库的路径包含特殊字符,就需要修改上述命令,添加转义符:
C:/> sc create svn
        binpath= "/"C:/program files/svn/bin/svnserve.exe/" --service -r /"C:/Documents and Settings/Administrator/My Documents/repos/""
        displayname= "Subversion Server"
        depend= Tcpip
        start= auto
注意新增加的四个/"
另外,sc命令的各个参数的等号后面都要有一个空格,否则会报告语法错误


你可能感兴趣的:(Windows核心编程,Windows操作系统)