批量追加到同一行

时间:2015-03-19 21:37:58

标签: batch-file

我不确定这是否可能,但在这里:

我正在编写一个脚本,该脚本调用另一个批处理文件来获取命令。第一个脚本有一个循环来询问用户问题并将其输入设置为变量。在创建变量之后,我需要将该变量插入到第二个脚本中,但是,这是我遇到的问题。我不能这样做:

echo >> %var% 

变量需要在同一行。所以我有几个选择。我可以将变量附加到第二个脚本,或者我可以将它添加到第二个脚本(如果这更容易)。我假设有一种方法,你可以用for循环,但每次我尝试它不会出来。所以这就是我需要第二个脚本的样子:

command /%currentvar% /%newvar% /%newvar%

我试图构建一个变量数组,然后将数组作为变量插入到第二个脚本中,但我得出的结论是,这是不可能的。任何人都可以帮我这个吗?

2 个答案:

答案 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 %*