2012-09-27 178 views
3

问题:当我双击.bat文件时,它按预期执行。当我在Windows任务计划程序中安排它时,它会执行,除了具有cscript的行。如何使用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

您不指定脚本路径(仅脚本名称)。我已经看到这导致与任务计划程序的问题(即使脚本是在假设/设置的工作目录中) – wmz

+0

用于一切的路径仍然是相同的结果: 'C:\ Windows \ System32 \ cscript.exe c: \ tableaudata \ CSV_To_Excel.vbs c:\ tableaudata \ test.csv c:\ tableaudata \ test.xlsx' –

+0

您是否100%确定它执行?您是否看到类似于以下内容的内容:“结果:在日志中完成了退出代码为(0)'的任务?在测试之前是否删除/重命名了日志? – wmz

回答

2

为了帮助调试的情况,以下内容添加到您的CSCRIPT命令行的末尾:

>>c:\MyCScriptOutput.txt 2>&1 

然后,检查是否在C:\ MyCScriptOutput.txt文件中有任何错误消息(S)在里面。如果是这样,请将这些信息(包括命令行和输出)添加到您的问题中。

我在猜测,但问题可能是,cscript正在尝试并且无法交互式运行,因此您可以尝试用“cscript // Nologo // B”替换命令行中的“cscript”,以查看是否修复它。

+0

MyCScriptOutput.txt中包含以下文本: 'Microsoft(R)Windows脚本宿主版本5.8 版权所有(C)Microsoft Corporation。保留所有权利。' 当我使用// NoLogo // B运行时,文件没有内容。再次,没有创建xlsx。 –

+0

如果有帮助,当我手动双击.bat文件时,出现命令窗口,保留一段时间(我猜测转换过程的持续时间),然后消失。执行任务计划程序时,不会显示命令窗口。我只看到创建的log.txt。 –

+0

很难在没有看到它的情况下调试CSV_To_Excel.vbs,但它是否会导入任何其他单元或制作任何可能取决于工作目录的文件引用?如果您将所有cscript行文件引用绝对路径并在cscript行之前添加行[START OF LINE] cd/d“%〜dp0”[END OF LINE],会发生什么? –

3

已解决!在Windows任务计划程序中,我必须单击“更改用户或组”按钮并添加“管理员”组。

+0

完全相同的问题。通过以具有管理员权限的用户身份运行解决,并选择名为“以最高权限运行”的复选框解决。 –

相关问题