VBScript FileSystemObject.CopyFile()到远程计算机路径未找到

时间:2016-10-30 00:34:37

标签: vbscript remote-access filesystemobject file-copying

这是一个简单的脚本,我无法以我想要的方式工作:

Const Overwrite = True
remoteHost = "DESKTOP1"
sDestination = "\\" & remoteHost & "\C:\Users\betsy\Desktop\"
sSource = ".transferFile.txt"

Wscript.Sleep 2000

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile sSource ,sDestination, Overwrite

msgbox "The file sent: " & sDestination & "."

这给了我Path not found。很混乱。为什么它不能给我一个Permissions Denied呢?当我真正坐在Betsy的计算机上时,路径正好是C:\Users\betsy\Desktop\。此路径绝对确实存在于远程计算机上 - 我已经检查了100次。也许我的sDestination字符串格式不正确?

当我将sDestination改为此时它会起作用...

sDestination = "\\" & remoteHost & "\Desktop1-Share\"

......但它不在正确的位置。

P.S。 \\DESKTOP1\Desktop1-Share\是在远程计算机上配置的共享文件夹,但我需要将该文件发送到我的牛Betsy的桌面文件夹\\DESKTOP1\c:\Users\betsy\Desktop,希望无需配置共享文件夹。

此脚本的重点是将文件复制到一台或多台远程计算机,而不必亲自坐在它们上面。我有数百台计算机可以执行此操作,但只需要向自己证明它可以在至少一台远程计算机上完成。

2 个答案:

答案 0 :(得分:3)

路径\\<hostname>\C:\Users\betsy\Desktop\无效。主机名后面的部分应该是C$(自动创建的administrative share,只有管理员可以访问),或者如果您手动共享,它应该是完全不同的名称和/或路径目标文件夹或其祖先在一个文件夹下。

以上将适用于XP。在Vista +中,access to administrative shares is prohibited by default unless the machine is in a domain and the user is a domain admin。它can be re-enabled by hand但是

答案 1 :(得分:1)

你试过吗

sDestination = "\\" & remoteHost & "\Users\betsy\Desktop\"