Имя пользователя:
Пароль:
 

Показать сообщение отдельно
jbk jbk вне форума Автор темы

Новый участник


Сообщения: 8
Благодарности: 0

Профиль | Отправить PM | Цитировать


нашел вот такой скрипт vbs... но не получается копировать по сетевому пути \\server\profiles$? скрипт только удаляет файлы....

Скрытый текст
'============================================
'Перенос содержимого десктопа пользователя
'Мосийчук Сергей (klasik_cc@mailru), 17.08.2006
'Запускается обьектом груповой политики при выходе пользователя
'============================================

On Error Resume Next
Set SHELL = CreateObject ("WScript.Shell")
Set SF = SHELL.SpecialFolders
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(SF("Desktop"))
Set colSubfolders = objFolder.Subfolders
Set WshNet = CreateObject ("WScript.Network")
DDir = "\\server\Profiles$"

'Используя рекурсию сбрасываем атрибуты всех файлов во всех каталогах и подкаталогах десктопа.
'Необходимо для последующего их удаления.

Set objParentFolder = objFSO.GetFolder(SF("Desktop"))
ShowSubfolders objParentFolder
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Set objSubFolder = objFSO.GetFolder(Subfolder.Path)
ShowSubFolders Subfolder
For Each efile in objSubFolder.Files
Set gFILE = objFSO.GetFile (efile)
gFILE.Attributes = 0
Next
Next
End Sub

'копируем с последующим удалением все каталоги десктопа (соответственно с их содержимым).
'Использование здесь CopyFolder вместо MoveFolder связано с возможностью метода CopyFolder перезаписывать файл,
'если такой существует в целевой папке.

For Each objSubfolder in colSubfolders
objFSO.CopyFolder objFSO.GetFolder(SF("Desktop"))+"\"+objSubfolder.Name, DDir+WshNet.UserName+"\"
objFSO.DeleteFolder objFSO.GetFolder(SF("Desktop"))+"\"+objSubfolder.Name
Next

'теперь перебираем все файлы которые находятся на рабочем столе, и если их тип не ярлык,
'то сбрасываем атрибут на 0, копируем и убиваем.

For Each efile in objFolder.Files
Set gFILE = objFSO.GetFile (efile)
fEXT = objFSO.GetExtensionName (efile.Path)
If LCase (fEXT)<>"lnk" then
gFILE.Attributes = 0
objFSO.CopyFile efile, DDir+WshNet.UserName+"\"
objFSO.DeleteFile efile
End If
Next

Последний раз редактировалось jbk, 23-03-2015 в 10:30.


Отправлено: 10:25, 23-03-2015 | #2