2011-07-01 39 views
1

我有一个VBScript,执行一些任务,包括将文件从一个地方移动到另一个地方。VBscript计划任务错误

大量复制/移动/创建文件夹/文件夹删除/删除这样

Set filesys = CreateObject("Scripting.FileSystemObject") 
filesys.CopyFile "D:\Test Now\test.txt", "W:\test_2\test.txt" 

我能够让整个脚本工作时,我手动运行它通过双击它并没有错误的文件上来。但是,当我从计划任务运行它时,会显示一条错误“未找到路径”。将这个错误写入数据库,我发现了这个错误。

如果

ON ERROR RESUME NEXT 

是关闭的脚本是停留在这个错误。当它设置为开启时,脚本会跳过操作不执行其功能。

我已经四次检查路径以确保其正确性。在运行具有计划任务的脚本时,我应该注意什么?

+0

当你在命令行键入'dir“D:\ Test Now \ test.txt”'和'dir“W:\ test_2 \”时,它会说什么? –

回答

1

是D:\和W:\本地驱动器,还是他们映射网络驱动器?如果它们被映射,运行该进程的用户可能没有可用的驱动器。确保您将该任务作为特权本地帐户运行。最好登录到该帐户并手动运行该命令。一旦你确认了它的工作,那么你可以加强安全,如果这是一个问题。

+0

是W:\是映射驱动器,我有权访问该驱动器。我有权访问该驱动器,并且我可以在手动运行而不是计划任务时使其发挥作用。关于计划任务的权利是否还有其他警告? – zentenk

+0

手动运行命令的作品,但似乎问题是我必须登录到计划的任务运行的帐户,即使我的帐户有权在驱动器上进行更改 – zentenk

0

这个跳转头脑:把你的路径用引号"。其中一个有一个空间。而VBSscript肯定不会那样。

filesys.CopyFile "D:\Test Now\test.txt", "W:\test_2\test.txt" 

是的,刚刚测试过它,这确实是什么导致了错误。顺便说一下,你可能知道这一点,但除非你想输入一个调试噩梦,否则你不应该使用On Error Resume Next,除非你有一个非常具体的理由这样做。

+0

ahhhh我忘了输入引号在我的问题中,我在剧本中犯了愚蠢的错误!更新了这个问题以说清楚 – zentenk

0

一个老话题,我知道,但是这可能会帮助别人:

我的计划任务特定的用户下运行。使用MMC的组件服务管理单元我需要为用户提供“启动和激活”权限。一旦完成,计划任务就可以正常运行。