我有一个VBScript可以执行许多任务,包括将文件从一个地方移动到另一个地方。
大量复制/移动/创建文件夹/删除文件夹/删除此类文件
Set filesys = CreateObject("Scripting.FileSystemObject")
filesys.CopyFile "D:\Test Now\test.txt", "W:\test_2\test.txt"
当我通过双击手动运行它并且没有出现错误时,我能够让整个脚本工作。但是,当我从计划任务运行它时,会显示错误“找不到路径”。我通过将此错误写入数据库来发现此错误。
如果
ON ERROR RESUME NEXT
关闭脚本卡在那个错误中。将其设置为on,脚本将跳过不执行其功能的操作。
我已经对路径进行了四倍检查以确保其正确。在运行带有计划任务的脚本时,我应该注意哪些事项?
答案 0 :(得分:1)
是D:\和W:\本地驱动器,还是映射网络驱动器?如果它们已映射,则运行该进程的用户可能没有这些驱动器可用。确保将任务作为特权本地帐户运行。最好登录该帐户并手动运行该命令。一旦您确认它有效,那么如果这是一个问题,您可以加强安全性。
答案 1 :(得分:0)
请注意:将您的路径用引号"
括起来。其中一个中有一个空间。 VBSscript肯定不会那样。
filesys.CopyFile "D:\Test Now\test.txt", "W:\test_2\test.txt"
是的,刚刚测试过,这确实是导致错误的原因。
顺便说一句,您可能知道这一点,但除非您想进入调试噩梦,否则不应使用On Error Resume Next
,除非您有非常具体的理由这样做。
答案 2 :(得分:0)
我知道的一个老话题,但这可能有助于某人:
我的预定任务是在特定用户下运行的。使用MMC的组件服务管理单元我需要为用户提供“启动和激活”功能。权限。完成此操作后,计划任务就会正确运行。