2011-12-02 196 views
4

在下面(簡化的例子)批處理文件,我有困難正確設置Y如何設置一個變量等於另一個變量的內容?

@Echo off 
setlocalenabledelayed Expansion 
set EqS=Nope 
set X=Eq 
set Y=%X%S 
echo Y 

我怎樣才能得到這個腳本的輸出爲Nope而不是EqS

+1

你的意思是你想'Y'是一個指向'EqS'或者你想'Y'包含字符串「均衡器」,或者你想'是否與'EqS'具有相同的值? –

+0

目前這將回應EqS對我來說。我想讓它迴應的是Nope。 –

+0

目前你的腳本會爲你回覆'Y',對於'Nope'你可以使用我的答案的'%Y2%' – jeb

回答

5

正如卡爾問,你的問題可能有不同的含義。
我試圖給出一個答案每個可能性

@echo off 
setlocal EnableDelayedExpansion 
set EqS=Nope 
set X=Eq 

REM set Y1 to "Eqs" 
set Y1=%X%S 

REM set Y2 to "Nope" (content of Eqs) 
set Y2=!%X%S! 

REM set Y3 to "!Eqs!" 
set Y3=^^!%X%S^^! 

echo %Y1% 
echo %Y2% 
echo %Y3% 
set EqS=Something 
echo(
echo Text %Y1% 
echo Content %Y2% 
echo Pointer %Y3% 
+0

我喜歡指針'Y3',它非常有用! –

相關問題