Option Explicit
dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FolderExists("C:\Users\michal\Desktop\mv_files_backup") then
fso.MoveFolder "C:\Users\michal.glowacki\Desktop\mv_files_backup\*.*", "\\192.168.10.245\backup\servers\backup_server"
Else
wscript.echo "doesn't exist"
End If
当我尝试运行此脚本时,我遇到错误:
许可被拒绝800A0046
但是当我将MoveFolder
更改为CopyFolder
时,脚本正常运行。为什么我不能使用函数MoveFolder
?
答案 0 :(得分:0)
来自MSDN:
如果source包含通配符或目标以路径分隔符结尾 (\),假设destination指定了现有文件夹 哪个移动匹配文件。否则,假定目的地 是要创建的目标文件夹的名称。在任何一种情况下,三个 移动单个文件夹时可能发生的事情:
如果目标不存在,则移动该文件夹。这是 通常的情况。
如果destination是现有文件,则会发生错误。
如果目的地是目录,则会发生错误。
如果源中使用的通配符,也会发生错误 与任何文件夹都不匹配。 MoveFolder方法在第一个停止 它遇到的错误。不会尝试回滚所做的任何更改 在错误发生之前。
我已将以粗体标记为解释您问题的部分。因为您的目标不以尾随反斜杠结束,所以您的脚本正在尝试创建该文件夹,并且失败。尝试将\
添加到目标的末尾,然后报告它是否仍然无效。
试试这个:
fso.MoveFolder "C:\Users\michal.glowacki\Desktop\mv_files_backup", "\\192.168.10.245\backup\servers\backup_server\"