2016-12-31 56 views
-4

私は、私のコードに少し問題を抱えている
Iこのバッチグリッチを解決するには?

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 
関連する問題