我有一个 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 调用,所以我不确定为什么会出现问题。