如何使用Windows任务调度程序执行cscript?

问题描述 投票:3回答:3

问题:当我双击.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。

可能是什么问题呢?

scheduled-tasks batch-file wsh
3个回答
3
投票

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


2
投票

要帮助调试此情况,请将以下内容添加到cscript命令行的末尾:

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

然后,检查c:\ MyCScriptOutput.txt文件中是否包含任何错误消息。如果是,请将此信息(命令行和输出)添加到您的问题中。

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


0
投票

主要问题是你没有从c:\ windows \ system32(其中schtasks.exe所在位置)指定CSV_To_Excel.vbs调度程序执行脚本的完整路径所以,你对cscript的批量调用应该是

cscript %~dp0\CSV_To_Excel.vbs c:\tableaudata\test.csv c:\tableaudata\test.xlsx
echo.file converted >> %~dp0\log.txt

© www.soinside.com 2019 - 2024. All rights reserved.