在批处理文件中,我已将硬编码的dB名称替换为我正在从文件中读取的参数。当我从本地运行批处理文件时,我可以看到dB名称被正确替换。但是,当我尝试在WLM上运行相同的脚本时,作业将被中止而不会触发底层包本身。
从文件中读取的代码:
for /f "delims== tokens=2" %%G in (file_name.txt) do set %%dB_name=%%H
我在批处理文件中使用DTEXEC
,参数传递给/set \"package[variable]";dB_name
答案 0 :(得分:0)
使用file_name.txt
:
ABC=DEF
GHI=JKI
您的批次行,我发现以下变量已设置:
%dB_name=%H
我怀疑那不是你真正想要的。通常,您不希望百分号 中的变量名。
此外,当您指定令牌#2时,这是您指定的唯一令牌,因此我怀疑您的目标应该是%%G
而不是%%H
。
也许这样的事情会更好:
for /f "delims== tokens=2" %%G in (file_name.txt) do set dB_name=%%G
此外,我再也不记得为什么,但我很喜欢将delims
放在最后:
for /f "tokens=2 delims==" %%G in (file_name.txt) do set dB_name=%%G
在任何方面,我这样做的结果是,使用相同的输入文件:
dB_name=JKI
这看起来更像是你正在努力完成的事情。