2016-09-14 72 views
0
下面的批处理文件/命令

嗨我有:詹金斯不解释窗口批处理命令正确

setlocal enableextensions enabledelayedexpansion 
IF EXIST C:\myapp (
set /p pid =< C:\myapp\RUNNING_PID 
echo !pid! 
taskkill /PID !pid! /F 
DEL RUNNING_PID 
rmdir C:\myapp /s /q 
) 
endlocal 
mkdir C:\myapp 
xcopy /E "C:\Program Files (x86)\Jenkins\workspace\myapp\target\universal\myappDist\myapp-1.0" C:\myapp 
start java.exe -Dpidfile.path=C:\myapp\RUNNING_PID -Dhttp.port=3000 -cp C:\myapp\lib\* play.core.server.NettyServer 

然而,詹金斯不正确地解释它。它始终尝试执行以下操作:

setlocal enableextensions enabledelayedexpansion 
IF EXIST C:\myapp (
set /p pid = 0<C:\myapp\RUNNING_PID 
echo !pid! 
taskkill /PID !pid! /F 
DEL RUNNING_PID 
rmdir C:\lexia /s /q 
) 

其余代码行再次正确解释。我不知道这里发生了什么。

希望有人能给我一个提示。

已经提前致谢!

回答

1

我会通过更换此启动:

setlocal enableextensions enabledelayedexpansion 
IF EXIST C:\myapp (
set /p pid =< C:\myapp\RUNNING_PID 
echo !pid! 
taskkill /PID !pid! /F 
DEL RUNNING_PID 
rmdir C:\myapp /s /q 
) 
endlocal 

有:

setlocal enableextensions disabledelayedexpansion 
IF EXIST C:\myapp\ (
    set/p pid=<C:\myapp\RUNNING_PID 
    echo %pid% 
    taskkill /PID %pid% /F 
    DEL RUNNING_PID 
    rmdir C:\myapp /s /q 
) 
+0

感谢您的答复!事实上它确实有效,而问题则完全不同,为什么它不起作用。然而,由于你刚刚提出的建议,剧本的回应是上面那个。因为即使在我解决了我的问题并且脚本正在工作之后,回声仍然没有问题! – fr33g