2015-09-06 78 views
0

我不知道该如何解释,但我想做的事情是这样的:如何在批处理中使用set/p查看变量?

@echo off 
set test1=500 
set test2=750 
set /p view= 
set show=%%view%% 
echo %show% 
pause 

基本上我想输入“测试1”或“TEST2”,然后变量“秀”应该设置为%test1%(500)或%test2%(750),但由于某种原因它不起作用。 它总是显示'%view%'。它应该显示为'500'或'750'。任何帮助?

PS:我很抱歉,但我不善于解释的东西。

回答

1

有两种可能的方式:

call set show=%%%view%%% 

setlocal EnableDelayedExpansion 

set show=!%view%! 

您可以了解全部细节这个管理在this post

1

可以使用IF条件得到这个工作就像下面

@echo off 
set test1=500 
set test2=750 
set /p view= 
if /I "%view%"=="test1" (set show=%test1%) 
if /I "%view%"=="test2" (set show=%test2%) 
echo %show% 
+0

当我这样做时,它会显示'test1'或'test2'而不是'500'或'750'。 – CraftMine3001