要将4个用户输入传递到windows批处理文件中的4个SET命令吗
我有一个非常基本的问题,关于如何将文本文件中的4个参数传递给批处理文件中的4个set命令 我的Param.txt文件包含以下内容。它是批处理运行之前的用户输入:要将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
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文件中?