我不确定这是否可能,但在这里:
我正在编写一个脚本,该脚本调用另一个批处理文件来获取命令。第一个脚本有一个循环来询问用户问题并将其输入设置为变量。在创建变量之后,我需要将该变量插入到第二个脚本中,但是,这是我遇到的问题。我不能这样做:
echo >> %var%
变量需要在同一行。所以我有几个选择。我可以将变量附加到第二个脚本,或者我可以将它添加到第二个脚本(如果这更容易)。我假设有一种方法,你可以用for循环,但每次我尝试它不会出来。所以这就是我需要第二个脚本的样子:
command /%currentvar% /%newvar% /%newvar%
我试图构建一个变量数组,然后将数组作为变量插入到第二个脚本中,但我得出的结论是,这是不可能的。任何人都可以帮我这个吗?
答案 0 :(得分:0)
您可以将变量作为命令行arg发送到第二批文件:
CALL file2.bat %var%
然后使用var
获取%1
的值。
答案 1 :(得分:0)
您需要将变量组合成一个字符串,并在第一个批处理文件中调用传递组合变量的第二个批处理文件。
call 2nd.bat %combined%
然后在2nd.bat中,您可以使用%*
所以1st.bat看起来像是:
setlocal enabledelayedexpansion
@echo off
set combined=
for %%i in (1, 2, 3) do (
set /p "input=Enter variable%%i: "
set combined=!combined! /!input!
)
call 2nd.bat %combined%
而2nd.bat看起来像是:
command %*