使用VBScript复制文件夹内容

时间:2009-08-26 10:58:44

标签: vbscript

我正在尝试使用VBScript将某些文件夹的内容复制到另一个文件夹。

目标是枚举用户的AD组,然后根据这些组复制特定的文件夹内容。

我有代码,目前无效。

Dim Group,User,objFSO,objFolder,source,target,StrDomain

StrDomain = "domain.local"
FolderBase = "\\domain.local\netlogon\workgrps\icons"
Set net = CreateObject("wscript.network")
Struser = net.username
target = "\\fs1\users\"&net.username&"\Desktop\AppIcons\"

DispUserInWhichGroup()

Function DispUserInWhichGroup()

On Error Resume Next

Set objFSO=CreateObject("Scripting.FileSystemObject")
Set User = GetObject("WinNT://" & strDomain & "/" & strUser & ",user")

For Each Group In User.Groups

source = FolderBase & Group.name

Set objFolder = GetFolder(source)

For Each file in objFolder.Files
objFSO.CopyFile source &"\"& file.name, target&"\"&file.name
Next

Next

End Function

这是从各种来源拼凑而成的,我确信大部分是正确的,我不能让它完全运作。

任何帮助都会很棒。

干杯。

3 个答案:

答案 0 :(得分:0)

尝试删除复制声明中的第二个\

For Each file in objFolder.Files
   objFSO.CopyFile source & "\" & file.name, target & file.name
Next

您也可以像这样使用文件对象复制方法

For Each file in objFolder.Files
   file.Copy target & file.name
Next

答案 1 :(得分:0)

删除

On Error Resume Next
从您的函数

行,然后您将看到正在发生的任何错误。

编辑:我认为你需要为GetFolder指定一个对象。

Set objFolder = objFSO.GetFolder(source)

答案 2 :(得分:0)

目标文件夹不一定存在,但必须指定:

C:\ Z到C:\ A \ Z将起作用,但C:\ Z到C:\ A将不起作用。

新文件夹所在的文件夹必须存在:

C:\ A必须存在,但C:\ A \ Z不必。

应省略尾部斜杠:

C:\ Z到C:\ A \ Z将起作用,但C:\ Z \到C:\ A \ Z \将不起作用。