Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
要将4个用户输入传递到windows批处理文件中的4个SET命令吗_Windows_Batch File - Fatal编程技术网

要将4个用户输入传递到windows批处理文件中的4个SET命令吗

要将4个用户输入传递到windows批处理文件中的4个SET命令吗,windows,batch-file,Windows,Batch File,我有一个非常基本的问题,关于如何将文本文件中的4个参数传递给批处理文件中的4个set命令 我的Param.txt文件包含以下内容。它是批处理运行之前的用户输入: START_OERIOD=Jan-15 END_PERIOD=Jul-15 RULE_NAME=Multi_LR FILE_NAME=ACT_multiperiod.txt 我的Impot.bat文件需要接收以下输入: SET START_PERIOD=Jan-15 SET END_PERIOD=Jul-15 SET RULE_NAM

我有一个非常基本的问题,关于如何将文本文件中的4个参数传递给批处理文件中的4个set命令

我的Param.txt文件包含以下内容。它是批处理运行之前的用户输入:

START_OERIOD=Jan-15
END_PERIOD=Jul-15
RULE_NAME=Multi_LR
FILE_NAME=ACT_multiperiod.txt
我的Impot.bat文件需要接收以下输入:

SET START_PERIOD=Jan-15
SET END_PERIOD=Jul-15
SET RULE_NAME=Multi_LR
SET FILE_NAME=ACT_multi_period.txt
我已经找到了很多这样的例子,但是我很困惑,所以我正在寻找一种简单的方法来实现这一点。

我的建议:

Param.bat:

setlocal
for /f "delims== tokens=1,2" %%a in (Param.txt) do @set %%a=%%b
echo %START_OERIOD%
echo %END_PERIOD%
echo %RULE_NAME%
echo %FILE_NAME%
endlocal
简单地说:

for /f "delims=" %%a in (param.txt) do set %%a

for/f
是您所需要的。你到底试过什么让你困惑的代码?我用过:for/f“delims==tokens=1,2”%%a in(Param.txt)do@set%%a=%%b,但不明白我应该如何根据每个set命令接收值。你可以把它缩短,并说
for/f“delims=“%%a in(Param.txt)do set%%a
@SomethingDark是的,这是真的。。。但是,我宁愿设置一个fix命令格式
set=
,因为即使txt文件中的某行中缺少等号,它也不会产生错误。。。另外,它是一个可读性更强的代码。这是无可争辩的。当我使用上面给出的脚本时,它并没有显示所有4个参数。请看我的批处理脚本:@user5578435我必须说明我已将其编码为保存到.bat文件中,然后执行。它不适合直接命令行粘贴和调用。您是否已将其粘贴到.bat文件中?