[英]How to escape % in windows10 batch command in jenkins build step?
我在jenkins Windows批處理命令構建步驟中定義了以下命令:
for /r %%f in (.\*.exe) do echo %%f
但是echo
不會顯示文件名。 相反,它只是將%f
打印到控制台。
我嘗試使用以下單個%
,但這無濟於事。 它將f
打印到控制台。
for /r %f in (.\*.exe) do echo %f
如何在jenkins構建步驟中轉義%
字符? 我不確定它是否僅與詹金斯有關。
在Windows 10上的Jenkins 2.60.2上,我的目錄中有兩個Firefox安裝程序可執行文件,它們for /r %%f in (.\\*.exe) do echo %%f
運行for /r %%f in (.\\*.exe) do echo %%f
在Windows Batch命令中for /r %%f in (.\\*.exe) do echo %%f
,我得到以下輸出:
Building in workspace C:\Program Files (x86)\Jenkins\workspace\Test
[Test] $ cmd /c call C:\WINDOWS\TEMP\jenkins4832870824680456992.bat
C:\Program Files (x86)\Jenkins\workspace\Test>for /R %f in (.\*.exe) do echo %f
C:\Program Files (x86)\Jenkins\workspace\Test>echo C:\Program Files (x86)\Jenkins\workspace\Test\.\Firefox Installer.en-US.exe
C:\Program Files (x86)\Jenkins\workspace\Test\.\Firefox Installer.en-US.exe
C:\Program Files (x86)\Jenkins\workspace\Test>echo C:\Program Files (x86)\Jenkins\workspace\Test\.\Firefox Installer.exe
C:\Program Files (x86)\Jenkins\workspace\Test\.\Firefox Installer.exe
如您所見,在運行批處理命令時,它會將雙%%
正確地視為單個%
,這是有道理的,因為它只對創建的臨時批處理文件調用cmd /c call
,這是正確的方法在批處理文件中執行%
語法。
我認為從不同版本的Jenkins來看,這種行為可能不會發生太大變化,但是您運行的是哪個版本? 您可以發布批處理命令的完整輸出嗎? 也許那里有些東西可以給我們一個線索。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.