Windows任务计划程序运行VBScript

时间:2015-04-16 00:49:46

标签: windows vbscript automation scheduler job-scheduling

我正在尝试使用Windows任务计划程序自动化VBScript。但是,我尝试使用cscript.exe + "C:\...\script.vbs",但它没有运行。我还尝试在CMD(cscript.exe "C:\...\script.vbs")中直接运行相同的命令,并且它有效。

可能是什么问题?

编辑:

我只是尝试将设置从"Run only when user is logged on"切换为"Run whether user is logged on or not"并且有效。我想知道是否有办法让我的任务计划运行,即使用户已注销。

8 个答案:

答案 0 :(得分:3)

经过数小时的研究,布莱克莫里森(来自微软)的一个博客出现了;它提到了

  

如果运行.vbs / .ps1脚本,请尝试从.cmd / .bat脚本启动它

请参阅Help! My Scheduled Task does not run…

该博客还解释了使用任务计划程序时的许多规则/提示。

因此,请创建一个调用VBScript的.cmd / .bat文件。例如:cscript.exe YourScript.vbs将出现在.cmd / .bat脚本中。

答案 1 :(得分:2)

写一个这样的批处理文件:

echo "Started!" > c:\foldergoeshere\log.txt
cscript.exe "C:\...\script.vbs" > c:\foldergoeshere\log.txt
echo "Stopped!" > c:\foldergoeshere\log.txt

然后安排批处理文件而不是vbs。这将允许您查看阻止其运行的正在发生的事情。您在控制台(CMD)中执行的任何错误都将输出到" Started!"之间的日志文件。并且"停止了!"

答案 2 :(得分:2)

麻烦是什么?我不使用.cmd / .bat和脚本工作! (Windows7在这里)
我的VBS脚本(作为计划任务)在这4个任何场景中运行良好:

  1. c 脚本和选项“仅在用户登录时运行”
  2. c 脚本和选项“运行用户是否已登录”
  3. w 脚本和选项“仅在用户登录时运行”
  4. w 脚本和选项“运行用户是否已登录”
  5. 只有在第一种情况下,我才会遇到屏幕上闪烁的黑色命令窗口。

    动作设置:

    cscript

    wscript

    我的脚本,它只是创建一个文件:

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    filename = "C:\Temp\" & Hour(Time) & Minute(Time) & Second(Time)
    Set objFile = objFSO.CreateTextFile(filename)
    

答案 3 :(得分:1)

.vbs文件无形地运行,这是使用“登录或未登录”选项运行它的结果。

您不会被允许干扰使用计算机的用户,这意味着您将能够自助,而不是其他人。

请阅读“任务计划程序帮助”菜单中的以下文本:

任务安全背景

  

即使在触发任务时未登录任务计划运行的帐户,您也可以指定任务应该运行。

     

要执行此操作,请选择标记为“运行用户是否已登录”的单选按钮。

     

如果选中此单选按钮,任务将不会以交互方式运行。

     

要以交互方式运行任务,请选择“仅在用户登录时单选运行”单选按钮。

答案 4 :(得分:1)

您可以这样做。

  1. cmd作为程序。

  2. /c start cscript //nologo "W:\Pathto with spaces\VBScript.vbs"
    
    • /c将以下内容发送到cmd

    • start开始下一个参数

    • cscript //nologo "W:\Path with spaces\VBScript.vbs"不言自明。路径用引号引起来,以便在文件名中保留空格。

      屏幕截图

      enter image description here

答案 5 :(得分:0)

不止一次经历过像计划任务一样运行的VBScript几个月和几年都能正常工作,但是尽管没有任何改变,但突然不再工作了。尝试使用此处和其他地方给出的所有食谱来反应任务,但没有成功。我的解决方法是创建一个计划任务,其中包含从原始设置复制的所有设置。

答案 6 :(得分:0)

Greg回答了https://superuser.com/a/816073

基本上,您需要创建2个文件夹:

您必须创建一个文件夹(在64位Windows上创建一个文件夹):

(始终为32Bit)C:\ Windows \ System32 \ config \ systemprofile \ Desktop

(64位)C:\ Windows \ SysWOW64 \ config \ systemprofile \ Desktop

为我解决了这个问题(我可以指向.vbs文件,而不是蝙蝠)。

答案 7 :(得分:0)

我在 Microsoft Windows [版本 6.1.7601] 上试过这个 版权所有 (c) 2009 Microsoft Corporation。版权所有。 AKA Window 7,但在我的情况下,我首先 cd 到目录,然后运行 ​​.bat 文件以执行 .vbs 文件

<块引用>
  1. 转到开始菜单
  2. 搜索跑步
  3. 打开后,输入“shell:startup”并按 Enter

您将被定向到“启动”文件夹。在此文件夹中,您可以创建一个 .bat 文件,您要在该文件中执行 .vbs 文件(您将以特殊方式执行此操作)

<块引用>

cd C:\the\path\were.vbs\file\located && wscript.exe start_app.vbs

你所做的是 cd 到目录 cd C:\the\path\were.vbs\file\located

然后运行.vbs文件wscript.exe start_app.vbs