转自: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命令的各个参数的等号后面都要有一个空格,否则会报告语法错误