我正在尝试使用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
这是从各种来源拼凑而成的,我确信大部分是正确的,我不能让它完全运作。
任何帮助都会很棒。
干杯。
答案 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 \将不起作用。