【问题标题】:Failure to run VBS script with task scheduler无法使用任务计划程序运行 VBS 脚本
【发布时间】:2018-12-02 02:30:24
【问题描述】:

我们有这个 vbs 脚本,用于使用 SyncToy 更新某些文档。

这是当前编写的脚本:

'--------------------------------------------------

Set oShell = CreateObject("WScript.Shell")

sFilePath = chr(34) & "C:\Program Files\SyncToy 2.1\SyncToyCmd.exe" & 
chr(34) & "-R"

iRC = oShell.Run(sFilePath, 0, True)

' Return with the same errorlevel as the batch file had
Wscript.Quit iRC


'---------------------------------------------------

这个脚本不是我写的,我对脚本编写的经验也很少。

我在任务计划程序中设置了一个任务,只要设备连接到网络,它就会运行此脚本。该脚本应运行 SyncToy,然后同步设置的文件夹对。我尝试使用 cscript 命令通过命令提示符运行脚本,但据我所知没有任何反应。至少文件夹没有同步。

脚本在 Windows 10 pro 平板电脑上运行

我已验证该任务确实在按预期运行。我只是不确定脚本的编写方式是否存在问题,或者是否需要更改任务设置。据您所知,脚本有什么问题吗?

我不确定是在此处发布此内容还是在服务器故障中发布此内容。如果这不属于这里,请将问题移至 serverfault

更新:我已经验证这不是脚本的问题。这个问题显然是在从 SyncToy 2.0 更新到 2.1 之后才出现的。

谢谢各位。

【问题讨论】:

  • 您需要在 "-R" 内留一个空格 - 它应该看起来像 " -R"- @Tommy 正确显示该行 - 如果这是您代码中的方式,请编辑并更新您的问题。此外 - 如果您在计划任务中执行此操作,则需要指定 start in folder - 这是 Windows 任务的一个奇怪的 VBS 问题。

标签: vbscript windows-10 scheduled-tasks taskscheduler


【解决方案1】:

sFilePath 行存在错误。 首先,我不知道这是否最初是在单行上,但它应该(或在更改行之前添加“_”)。

那么,这个(...)& >"-R" 就不行了。 ">" 符号在引号之外并产生错误。

如果要执行这个命令:"C:\Program Files\SyncToy 2.1\SyncToyCmd.exe" -R, 这是这样做的方法:

sFilePath = chr(34) & "C:\Program Files\SyncToy 2.1\SyncToyCmd.exe" & chr(34) &  " -R"

您还可以添加msgbox sFilePath 以显示值为sFilePath 的弹出窗口。 要测试/运行脚本,您只需双击它即可。

【讨论】:

  • > 字符不应该存在,并且 sFilePath 行最初是脚本中的一行。脚本中的 sFilePath 行看起来和你的一样。 SyncToyCmd.exe 是否有可能不像旧技术所认为的那样?据我所知,此脚本仅启动程序,但实际上并未启动同步。这正是我们想要的。
  • 脚本应该像双击它一样运行程序。要对此进行测试,请双击“SyncToyCmd.exe”。如果它不起作用,则意味着程序不再兼容。
  • 嗨,我只是想知道,是否有引号围绕 -R 正确的参数语法?您不会将 -R 不加引号,然后将所需文件夹对的名称放在引号中吗?
  • 好的,我将把它标记为答案。多亏了你,我已经验证了脚本是正确的。 SyncToy 2.1 在运行 SyncToyCmd.exe 程序时什么都不做。通过 CMD 运行程序时,它甚至会显示我想要运行的同步。但它会在几分之一秒后结束。我将尝试使用 SyncToy 2.0 看看它是否只是版本问题。谢谢
  • 很好,关于你的问题,它不起作用。想象一下,您在命令行中编写命令。命令是什么?然后你必须将此命令(作为字符串变量)发送到 vbs 中的 shell 对象。引号之外的所有内容都必须是 vbs 命令。否则会崩溃
猜你喜欢
  • 2020-07-07
  • 2014-01-27
  • 1970-01-01
  • 2015-10-02
  • 2016-02-11
  • 2017-06-21
  • 1970-01-01
  • 2020-08-07
  • 1970-01-01
相关资源
最近更新 更多