2016-09-14 161 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