近期做的项目中有需要用到日次批处理功能,而应用服务器又是Windows的,因此我决定采用bat来实现。
经过开发测试后,放置于测试服务器上OK,成功实现日次批处理功能。
因此,在周末时部署至正式服务器上。周一早上来看了下log记录,日次处理没有成功执行,查找原因后
发现原来是路径中有名称带有空格的文件夹名,因而bat命令无法正确识别想要执行的命令。
要避免此歧义发生,在文件夹名带有空格时,请用引号把路径包起来。
如下所示:
修改前
c:
cd C:\Users\mid0001\Desktop\pdi-ce-4.4.0-stable\data-integration
Kitchen.bat /norep -file=D:\ymsm test\ymsm-test.kjb
exit
修改后
c:
cd C:\Users\mid0001\Desktop\pdi-ce-4.4.0-stable\data-integration
Kitchen.bat /norep -file="D:\ymsm test\ymsm-test.kjb"
exit