2016-12-31 71 views
-4

我有一個小問題,我的代碼,
如果我如何解決這個批次毛刺?

set ghot=1  

set fo1=text 

,並嘗試呼應

echo %fo%ghot%%  

這個樣子,說到像

%fo1%  

而不是文字

+2

FYI人一般都更願意,如果你正確地格式化您的文章,寫像一個長大了幫助。 – jonrsharpe

+2

啓用延遲擴展的'echo!fo%ghot%!'。編寫這個_array元素的「標準方式」是'set fo [1] = text'和'echo!fo [%ghot%]!'。見[這篇文章](http://stackoverflow.com/questions/10166386/arrays-linked-lists-and-other-data-structures-in-cmd-exe-batch-script/10167990#10167990) – Aacini

回答

2

我誤解了你剛纔的要求。添加呼叫到該行會給你你想要的行爲。

call echo %%fo%ghot%%% 

編輯添加額外的封閉的%它從命令行沒有他們,但不是從批處理文件內工作。

+2

你必須然後加倍外部百分比符號。 – LotPings

2

使用延遲擴展的另一種方法:

@Echo Off 
SetLocal EnableDelayedExpansion 
Set "ghot=1" 
Set "fo1=text" 
Echo=!fo%ghot%! 
Timeout -1