【问题标题】:How to run a .bat file in task scheduler [closed]如何在任务计划程序中运行 .bat 文件 [关闭]
【发布时间】:2017-02-24 20:28:21
【问题描述】:

我有一个一行长的 .bat 文件,它调用了一个专门打开 excel 文件并运行一些宏的 vb 脚本:

cscript priordays.vbs "C:\PATHANME\FILENAME.xlsm"

当我通过双击运行它时,它运行良好且成功。

当我在任务调度程序中运行时,它说它运行成功(代码 0x0),但脚本没有执行。我已将其设置为以最高权限运行,无论用户是否登录、唤醒机器等。仍然没有。

对于那些询问 vb 脚本中的内容的人,它是:

Dim arts, objExcel

Set args = WScript.ARguments
Set objExcel = CreateObject("Excel.Application")

objExcel.Workbooks.Open args(0)
objExcel.visible = True

objExcel.Run "Macro1"
objExcel.Run "Macro2"
objExcel.Run "Macro3"

objWorkbook.Close

objExcel.Quit

我在本网站的其他地方找到了该代码,以及使用 .bat 文件的说明。如果有办法从脚本运行它,并尝试从任务调度程序启动脚本,我也可以这样做。

【问题讨论】:

  • 给我两分钟。 :)
  • 似乎没有什么不同。
  • 将“开始”位置设置为脚本位置,并确保该文件夹的权限允许运行任务的帐户执行批处理文件。
  • 它是一个管理员帐户,所以它有完全的权限,改变起始位置并没有改变任何东西。
  • 先尝试以自己的身份运行它,而不是作为提升或管理员用户。

标签: batch-file vbscript taskscheduler


【解决方案1】:

从计划任务运行批处理文件和/或 vbs 时,必须声明完整的文件路径和文件名。

如果文件系统对象用于获取文件名,然后传递(不带路径)到与文件交互的函数,它将通过双击工作,但不是作为计划任务。

您可以尝试使用完整路径和 .vbs 文件吗?

您的计划任务是否启动 excel,但不运行 excel 宏,或者它甚至不启动 excel?

【讨论】:

  • 它甚至不启动 excel。
  • 是否指定了完整的文件路径/名称?你能提供一个你的批处理文件代码的片段吗,显然是名字的变化等等。
  • 所有代码已添加到主要问题中。
  • “错字”实际上是否在您的文件中?您正在调暗“艺术”但设置“参数”。 Dim Arts, objExcel Set args = WScript.ARguments
  • 您的代码:objExcel.Run "Macro1" 假设您的宏位于模块中,而不是其中一张表中。您的宏实际上是在模块中,还是在工作表中?如果它在工作表中,则需要在 ObjExcel.Run.... 中指定它。即 objExcel.Run "'xxxx.xls'!sheet1.Macro1"。注意文件名周围的单引号。
猜你喜欢
  • 2011-11-06
  • 2010-09-22
  • 1970-01-01
  • 2020-07-07
  • 2015-11-30
  • 2014-02-28
  • 2013-07-18
  • 1970-01-01
相关资源
最近更新 更多