在我目前正在處理的批處理腳本上,我遇到了一些問題。 我想要發生的是將變量設置爲自身,但後面跟着一個百分比標記,一個字母,一個來自for /l (#,#,#)
循環的數字,然後是另一個百分比符號。我的代碼目前如下;批量設置變量錯誤;變量(%)(字符串)(%% A)(%)?
set value1=1
set value2=10
for /l %%a in (%value1%,1,%value2%) do (
set variable1=%variable1%%b%%a%
)
即使循環了這10次,這也不會給我%variable1%的值。我已經嘗試在頂部添加'variable1 ='(沒有撇號),但是這給了我相同的結果。在四處搜尋之後,我發現我應該試着取消%'s在'b'之前和'a'之後 - 在他們面前使用%' - ,我的代碼就這樣結束了。
set value1=1
set value2=10
set variable1=
for /l %%a in (%value1%,1,%value2%) do (
set variable1=%variable1%%b%%a%
)
這是我得到的最接近,但%變量1%,將值改爲 '%B1%',那麼 '%B2%',那麼 '%B3%' 等取而代之平鋪起來的彼此相鄰。
我希望的結果是,在循環結束時,%variable1%的值爲; %b1%%b2%%b3%%b4%%b5%%b6%%b7%%b8%%b9%%b10%
我的代碼出錯了嗎?它似乎應該給我我期望的輸出,但很清楚,事實並非如此。
在先進的感謝,
工程就像一個魅力,非常感謝你。但是,爲了我自己的好奇心,不要使用!作爲%的替代,告訴它用setlocal'd'EnableDelayedExpansion'來對待它? – Destrotant
很高興幫助:D – Dale
@Destrotant是的,你是對的:) – Dale