Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.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
Batch file 在运行时为/set\package提供输入_Batch File - Fatal编程技术网

Batch file 在运行时为/set\package提供输入

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

在批处理文件中,我用从文件中读取的参数替换了硬编码的dB名称。当我从本地运行批处理文件时,我可以看到数据库名称被正确替换。但是,当我试图在WLM上运行相同的脚本时,作业将被中止,而不会触发底层包本身

从文件读取的代码:

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
这看起来更像是你想要完成的