我有一个antmacros,我想跑;
<macrodef name="serviceTask"> <attribute name="server"/> <attribute name="operation"/> <attribute name="service"/> <sequential> <echo message="sc \@{server} @{operation} @{service}"/> <exec executable="sc.exe" failonerror="true"> <arg line="\@{server} @{operation} @{service}"/> </exec> </sequential> </macrodef> <target name="startTomcat"> <echo message="Start Tomcat ${service} on ${server}"/> <serviceTask server="MyServer" operation="start" service="Tomcat8180"/> </target>
但是我得到一个RPC错误:
startTomcat: [echo] Start Tomcat Tomcat8180 on pacdcdtadeva02 [echo] sc \pacdcdtadeva02 start Tomcat8180 [exec] [SC] OpenSCManager FAILED 1722: [exec] [exec] The RPC server is unavailable. [exec] stopTomcat: [echo] Stop Tomcat Service Tomcat8180 on pacdcdtadeva02 [echo] sc \pacdcdtadeva02 stop Tomcat8180 [exec] [SC] OpenSCManager FAILED 1722: [exec] [exec] The RPC server is unavailable. [exec] [echo] ------------------------------------------------------------------- [echo] --- Completed on 02/01/2011 05:11:42 PM [echo] -------------------------------------------------------------------
现在当我从命令行运行这样的
sc \stage01 start Tomcat8180
服务开始/停止
如何从命令提示符编译并运行汇编源代码?
有一个简单的PHP shell的Windows?
编写rakefile在Windows中运行命令的最佳方法是什么?
需要Linux cmd-line应用程序来比较二进制文件,并在第一次不匹配时退出
batch file标记忽略空的分隔符
C:usrsvn_workspacesxIVRagent-ivr>sc \stage01 start Tomcat8180 SERVICE_NAME: Tomcat8180 TYPE : 10 WIN32_OWN_PROCESS STATE : 2 START_PENDING (NOT_STOPPABLE,NOT_PAUSABLE,IGNORES_SHUTDOWN) WIN32_EXIT_CODE : 0 (0x0) SERVICE_EXIT_CODE : 0 (0x0) CHECKPOINT : 0x1 WAIT_HINT : 0xbb8 PID : 11228 FLAGS :
Bash:单引号中的variables
下载Wget以外的文件的命令
sed – 使用命令行追加到下一行
强制启动进入Linux命令行
如何使用batch file从COM端口读取数据?
这可能会也可能不会帮助你,但是我也遇到了一个问题,就是在Windows机器上使用ant的<exec>任务以及<arg line=..>语句。 蚂蚁只是拒绝将参数行作为单独的实体,它们之间有空格,而我得到了奇怪的错误,比如“无法识别的参数”,当它应该是有效的。
我用一个<arg line=>替换每个参数后,我的问题消失了。 我也必须像Raghuram指定的那样做,并且把所有东西都包装在shell环境中。
也许值得尝试一下。
也许这需要一个shell环境。 如何尝试cmd /c sc ...
<exec executable="cmd.exe" failonerror="true"> <arg line="/c sc \@{server} @{operation} @{service}"/> </exec>