Windows 7 计划任务“运行”但不执行任何操作

Posted

技术标签:

【中文标题】Windows 7 计划任务“运行”但不执行任何操作【英文标题】:Windows 7 scheduled task "runs" but doesn't DO anything 【发布时间】:2013-04-10 19:06:10 【问题描述】:

我有一个 vbscript 文件,它必须在 64 位 Windows 7 机器上以 32 位运行,以便它可以连接到 32 位 Access 数据库。从运行框中我可以输入:

C:\Windows\SysWow64\WSCRIPT.EXE P:\Applicants\Applicants.wsf

它运行良好。当我尝试将此作为计划任务运行时,它会在一秒钟内运行(它不应该那么快)并声称它已成功完成。这是我目前正在运行的“操作”:

Start a Program
C:\Windows\SysWow64\WSCRIPT.EXE
Arguments: //Nologo //B P:\Applicants\Applicants.wsf >> P:\Applicants\logfile.txt

我也试过在CScript而不是WScript下运行它,结果完全一样。

在我添加“//Nologo //B”(我在这里找到的提示)之前,它会开始运行并且永远不会停止。

可选的“开始于”框为空。如果我在其中输入任何值(尝试 P:\Applicants),则任务无法以“错误值:2147942667”开始。搜索此错误代码提供的解决方案均无效,因此我将此框留空。

甚至永远不会创建日志文件,并且脚本执行的任何工作都没有完成。

该任务在我的网络帐户下运行,并且应该可以访问所有需要的驱动器和资源。

建议?如果没有日志文件,我什至不知道从哪里开始解决这个问题。

编辑:新信息:如果我将它设置为仅在我登录时运行,它工作正常。仅当设置为运行时,即使用户已注销,它也不起作用,即使我在运行时登录也是如此。

编辑 2:“即使用户已注销也运行”的安全上下文表明“”...无论用户是否登录,都选择标记为“运行”的单选按钮。如果选择此单选按钮,任务将不会以交互方式运行。要使任务以交互方式运行,请选择仅在用户登录时运行单选按钮。"

所以我猜它认为我的脚本在某种程度上是交互式的,但事实并非如此。没有任何类型的提示、对话框或 msgBox 调用,所以我不确定为什么会出现这样的问题。

【问题讨论】:

【参考方案1】:

知道了!问题是我在“操作”调用和脚本本身中都使用 P:\ 引用了映射驱动器。当我用完整的网络路径 \server\share 替换对 P 驱动器的所有调用时,一切正常。如果我没有登录,当然映射驱动器不可用,这很有意义:p

【讨论】:

【参考方案2】:

你有两个选择。

1.使用要运行的命令创建一个批处理文件,然后安排批处理文件而不是VBScript文件运行。

2.直接运行脚本文件,不要使用WScriptCScript

来源:http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2general/thread/464a3bb3-3bcd-47a0-ab03-f0b8910f2ed1/

【讨论】:

选项 1 值得一试。我不能使用选项 2,因为它会在默认的 64 位中运行它并且它不会连接到 32 位 Access 数据库。上面还添加了一些新信息。 @AnonymousMan:告诉我进展如何。另外,请阅读我提供的链接。至于32/64位,哦,64位Windows的痛点! 从批处理文件运行的结果是一样的。仅在选择“仅在”用户身份登录“时才会运行。当我退出时我需要它来工作,但在紧要关头,如果这算作“登录”,我可以保持登录状态并锁定。 @AnonymousMan:最好的办法是按照您的说法锁定帐户。我假设 VBScript 依赖于仅在用户登录时运行的东西。对不起! 知道了!问题是我在“操作”调用和脚本本身中都使用 P:\ 引用了映射驱动器。当我用完整的网络路径 \\server\share 替换对 P 驱动器的所有调用时,一切正常。如果我没有登录,当然映射驱动器不可用,这很有意义:p

以上是关于Windows 7 计划任务“运行”但不执行任何操作的主要内容,如果未能解决你的问题,请参考以下文章

windows下php脚本怎么运行

如何安排不使用Windows任务计划程序运行bat文件?

windows计划任务执行mysqldump大数据表不成功小数据表没问题

转 Windows 7设置定时自动执行任务方法

windows计划任务的问题。

windows计划任务