Скопируйте содержимое папки с помощью VBScript - PullRequest
2 голосов
/ 26 августа 2009

Я пытаюсь скопировать содержимое определенных папок в другую папку с помощью 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 голосов
/ 26 августа 2009

Удалить

On Error Resume Next

строка от вашей функции, и тогда вы увидите любые ошибки, которые происходят.

РЕДАКТИРОВАТЬ : Я думаю, вам нужно указать объект для GetFolder.

Set objFolder = objFSO.GetFolder(source)
0 голосов
/ 26 апреля 2010

Папка назначения не должна существовать, но она должна быть указана:

C: \ Z до C: \ A \ Z будет работать, но C: \ Z до C: \ A не будет работать.

Папка, в которой будет находиться новая папка, должна существовать:

C: \ A должен существовать, но C: \ A \ Z не обязан.

Конечные косые черты должны быть опущены:

C: \ Z до C: \ A \ Z будет работать, но C: \ Z \ до C: \ A \ Z \ не будет работать.

0 голосов
/ 26 августа 2009

Попробуйте удалить второй \ в операторе копирования

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...