Batch file 在运行时为/set\package提供输入
在批处理文件中,我用从文件中读取的参数替换了硬编码的dB名称。当我从本地运行批处理文件时,我可以看到数据库名称被正确替换。但是,当我试图在WLM上运行相同的脚本时,作业将被中止,而不会触发底层包本身 从文件读取的代码:Batch file 在运行时为/set\package提供输入,batch-file,Batch File,在批处理文件中,我用从文件中读取的参数替换了硬编码的dB名称。当我从本地运行批处理文件时,我可以看到数据库名称被正确替换。但是,当我试图在WLM上运行相同的脚本时,作业将被中止,而不会触发底层包本身 从文件读取的代码: for /f "delims== tokens=2" %%G in (file_name.txt) do set %%dB_name=%%H 我在批处理文件中使用DTEXEC,参数被传递到/set\“package[variable]”;dB_name使用以下文件的文件名.tx
for /f "delims== tokens=2" %%G in (file_name.txt) do set %%dB_name=%%H
我在批处理文件中使用
DTEXEC
,参数被传递到/set\“package[variable]”;dB_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
这看起来更像您正在尝试完成的任务。使用以下文件的
文件名.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
这看起来更像是你想要完成的