【问题标题】:Converting script to allow to run as scheduled task转换脚本以允许按计划任务运行
【发布时间】:2013-12-30 17:17:31
【问题描述】:

不久前我写了一个 VBScript 来简化任务。它可以工作,但是它不会作为计划任务运行,因为它需要一个命令窗口才能与之交互。如何更改脚本以允许它作为计划任务运行?

dim filesys
Set objShell = WScript.CreateObject("WScript.Shell")
set filesys=CreateObject("Scripting.FileSystemObject") 

WScript.Sleep 2000  
objShell.SendKeys"dsdbutil"  
WScript.Sleep 2000 
objShell.SendKeys("{Enter}")  
WScript.Sleep 2000 
objShell.SendKeys("activate instance wap")
WScript.Sleep 2000 
objShell.SendKeys("{Enter}")
WScript.Sleep 2000 
objShell.SendKeys("ifm")
WScript.Sleep 2000 
objShell.SendKeys("{Enter}")
WScript.Sleep 2000 
objShell.SendKeys("create full c:\adldsbackup")
WScript.Sleep 2000 
objShell.SendKeys("{Enter}")
WScript.Sleep 30000 
objShell.SendKeys("quit")
WScript.Sleep 2000 
objShell.SendKeys("{Enter}")
WScript.Sleep 2000 
objShell.SendKeys("quit")
WScript.Sleep 2000 
objShell.SendKeys("{Enter}")
WScript.Sleep 2000 


filesys.MoveFile "c:\adldsbackup\adamntds.dit", "\\vash\ibts_ts\Networking\Backups\ADLDS\adamntds_" & DatePart("m",Now()) & "_" & DatePart("d",Now()) & "_" & DatePart("YYYY",Now()) & ".dit"

objShell.SendKeys("exit")
WScript.Sleep 2000 
objShell.SendKeys("{Enter}")

【问题讨论】:

  • 我很难让它正确格式化.. 但格式化与问题无关

标签: vbscript scheduled-tasks


【解决方案1】:

我做过类似的事情,调度一个 vbs。解决方法很简单!

创建一个批处理文件来运行 vbs 文件并安排这个批处理文件。我更喜欢在批处理文件中使用 cscript:

cscript.exe //nologo <ScriptNameWithFullPath>

【讨论】:

  • 这不起作用...问题是他们编写脚本的方式,它需要命令 propmt 与之交互
  • 在 vbs 中,添加 AppActivate 调用与应用程序的标题匹配,就在您希望 SendKeys 应用之前。
猜你喜欢
  • 2019-05-02
  • 1970-01-01
  • 2018-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-18
  • 2017-11-08
  • 2020-08-07
相关资源
最近更新 更多