问题:当我双击.bat文件时,它按预期执行。当我在Windows任务计划程序中安排它时,它执行除了具有cscript的行。
.bat文件的内容:
@echo off
cls
cscript CSV_To_Excel.vbs c:\tableaudata\test.csv c:\tableaudata\test.xlsx
echo.file converted >>log.txt
让我失望的是创建了log.txt,表明正在执行.bat文件。但是.xlsx没有创建。但是,在手动双击.bat时,会同时创建log.txt和test.xlsx。
可能是什么问题?
答案 0 :(得分:3)
已解决!! 在Windows任务计划程序中,我必须单击“更改用户或组”按钮并添加“管理员”组。
答案 1 :(得分:2)
要帮助调试此情况,请将以下内容添加到cscript命令行的末尾:
>>c:\MyCScriptOutput.txt 2>&1
然后,检查c:\ MyCScriptOutput.txt文件中是否包含任何错误消息。如果是,请将此信息(命令行和输出)添加到您的问题中。
我在猜测,但问题可能是cscript正在尝试并且无法以交互方式运行,因此您可以尝试使用“cscript // Nologo // B”替换命令行中的“cscript”,看看是否解决它。
答案 2 :(得分:0)
主要问题是您未指定CSV_To_Excel.vbs的完整路径
调度程序从c:\ windows \ system32(位于schtasks.exe所在的位置)执行脚本
因此,您对cscript的批量调用应为
cscript %~dp0\CSV_To_Excel.vbs c:\tableaudata\test.csv c:\tableaudata\test.xlsx
echo.file converted >> %~dp0\log.txt
cscript %~dp0\CSV_To_Excel.vbs c:\tableaudata\test.csv c:\tableaudata\test.xlsx
echo.file converted >> %~dp0\log.txt