我正在尝试调用运行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
忽略,我只是无法获得循环来调用脚本。所有参数都可用,路径等是否正确?
答案 0 :(得分:0)
DIR命令可能没有返回任何内容,因此FOR / F无需迭代。
让我觉得你有拼写错误:%partionHome%
与%partitionHome%
。
另外,请确保正确定义变量partitionHome
和DSNname
。
绝对需要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%"