我有一个简单的批处理文件
@echo off
set a1=application 1
set a2=application 2
set a3=application 3
set app = %%1%
ECHO %app%
我想要实现的是当我使用参数调用我的批处理文件(test.bat)时,它会回显所需的字符串
所以,如果我打电话: 测试a1 - >申请1 测试a3 - >申请3
免责声明:这是一个简化的例子。
答案 0 :(得分:2)
CALL set app=%%%1%%
请注意,批处理对each
=
侧的空格很敏感。您试图设置名为app Space
答案 1 :(得分:2)
@echo off
set a1=application 1
set a2=application 2
set a3=application 3
CALL SET app=%%%1%%
ECHO %app%
call
执行类似于eval
的声音,例如。 Perl,%1
被替换,然后语句SET app=%a1%
被执行。#
如果没有CALL
,则%a1%
的值为app
,而不是application 1
。