对于Windows cmd中的LOOP和批处理文件不起作用

时间:2016-04-22 14:51:56

标签: batch-file for-loop

我正在尝试调用运行for循环并调用第二个脚本的批处理文件:

for /f "usebackq" %%i in (`dir/b /o:d %partionHome%\tmp\queue\*.t~#`) do %partitionHome%\conf\SQLLoader\SQL_Loader_%DSNname%\Script.bat %1 %2 %3 %4 %5 %6 %7 %%i %has_prefix% %partionHome%

Script.bat永远不会跑;我已经尝试添加do call,但我相信这会被FOR /F忽略,我只是无法获得循环来调用脚本。所有参数都可用,路径等是否正确?

1 个答案:

答案 0 :(得分:0)

DIR命令可能没有返回任何内容,因此FOR / F无需迭代。

让我觉得你有拼写错误:%partionHome%%partitionHome%

另外,请确保正确定义变量partitionHomeDSNname

绝对需要CALL(一旦解决了其他问题)

最后,您应该将您的路径用引号括起来,以防值中包含空格和/或有毒字符。

for /f "usebackq" %%i in (`dir/b /o:d "%partitionHome%\tmp\queue\*.t~#"`) do call "%partitionHome%\conf\SQLLoader\SQL_Loader_%DSNname%\Script.bat" %1 %2 %3 %4 %5 %6 %7 "%%I" %has_prefix% "%partitionHome%"