-1
更換作業我這是在Windows中執行命令行的TeamCity構建步驟7.
我們應該逃避腳本使用雙百分號等變量轉義字符在TeamCity的
如何逃避未來建築使用它在TC步驟?
set word=\\
set Build=%Build:\=!word!%
set enter=\n
set Build=%Build:""=!enter!%
更換作業我這是在Windows中執行命令行的TeamCity構建步驟7.
我們應該逃避腳本使用雙百分號等變量轉義字符在TeamCity的
如何逃避未來建築使用它在TC步驟?
set word=\\
set Build=%Build:\=!word!%
set enter=\n
set Build=%Build:""=!enter!%
我想你指的teamcity buildstep如果 你想從正在擴大的一種方式 是將percentsign這也是推遲 擴張的方法翻番轉義百分號。感嘆號是 的替換字符使用時的百分號setlocal EnableDelayedExpansion
目前還不清楚您試圖用您的代碼完成什麼。
在cmd中\ n替換不起作用。
如果你的目的是簡單地通過一個 回聲%cmd保持不變,那麼加倍就足夠了。如果延遲擴展是 使你可以有一個插入符號逃脫感嘆號 ^!
此代碼:
@Echo off&setlocal EnableDelayedExpansion
Set Build=C:\Test\Build""secondline
set word=\\
set LF=^
rem The TWO empty lines above are required
rem See http://stackoverflow.com/a/5642300/6811411
set Build2=%Build:\=!word!%
set Build2=%Build2:""=^^!LF^^!%
Echo Build =%Build%
Echo Build2=%Build2%
產生這樣的輸出位置:
Build =C:\Test\Build""secondline
Build2=C:\\Test\\Build
secondline
我不明白你的問題。請您詳細說明並提供一個例子。 – Squashman
是的。當我們在TC步驟中使用內部腳本變量時,我們應該在%% var %%中將它們轉義。我如何逃脫「!」在字符串「set Build =%Build:\ =!word!%」中替換其中的數據? – pic0
請[編輯]你的問題,並添加** 1 ** [mcve]和** 2nd **你得到了什麼*與*你期望從你的代碼得到什麼。也許'設置Build =!Build:\ =%word%!'可以工作嗎? – JosefZ