![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - Очистка рабочего стола/моих документов |
|
VBS/WSH/JS - Очистка рабочего стола/моих документов
|
Новый участник Сообщения: 8 |
Добрый день,
необходим скрипт, который будет отрабатывать при выходе пользователя из системы... нужно чтобы скрипт вначале скопировал все файлы с Рабочего стола и из Моих документов в сетевую папку \\server\Profiles$ создавая для каждого %userprofile% отдельный каталог и копировал в него соотв документы и рабочий стол, сохраняя структуру каталогов, а затем бы удалил с рабочего стола и моих документов все файлы/папки кроме *.lnk и *.rdp (но эти файлы должны остаться только в корне рабочего стола и моих документов - если были такие файлы во вложенных папках - то их удалять вместе с папками) главный смысл - все данные слить в сетевую папку, а рабочий стол/мои документы оставить только с *.lnk и *.rdp файлами, без каких-либо папок и пр. файлов |
|
Отправлено: 22:45, 22-03-2015 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать jbk, пока в Вашем коде будет тупо присутствовать первой строкой «On Error Resume Next» — и не такое будет убивать. А что на самом деле обязано присутствовать в первой строке — так это «Option Explicit».
|
Отправлено: 11:32, 24-03-2015 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 8
|
Профиль | Отправить PM | Цитировать Iska, да код не мой, я вообще ничего не понимаю в программировании).... изменил как мог для себя...
On Error Resume Next в рабочем скрипте, я закомментил.... если добавлю Option Explicit то тогда вообще не понимаю что и как делать..... |
Отправлено: 11:35, 24-03-2015 | #12 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать jbk, пробуйте:
Скрытый текст
Option Explicit
Dim objFSO
Dim strDestFolder
Dim strUserNameDestFolder
Dim strSourceFolder
Dim strFullDestFolder
Dim objFolder
Dim objFile
strDestFolder = "\\server\Profiles$"
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
If objFSO.FolderExists(strDestFolder) Then
strUserNameDestFolder = objFSO.BuildPath(strDestFolder, WScript.CreateObject("WScript.Network").UserName)
If Not objFSO.FolderExists(strUserNameDestFolder) Then
objFSO.CreateFolder strUserNameDestFolder
End If
strSourceFolder = WScript.CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
strFullDestFolder = objFSO.BuildPath(strUserNameDestFolder, objFSO.GetFileName(strSourceFolder))
If Not objFSO.FolderExists(strFullDestFolder) Then
objFSO.CreateFolder strFullDestFolder
End If
With objFSO.GetFolder(strSourceFolder)
.Copy strFullDestFolder, True
End With
strSourceFolder = WScript.CreateObject("WScript.Shell").SpecialFolders("Desktop")
strFullDestFolder = objFSO.BuildPath(strUserNameDestFolder, objFSO.GetFileName(strSourceFolder))
If Not objFSO.FolderExists(strFullDestFolder) Then
objFSO.CreateFolder strFullDestFolder
End If
With objFSO.GetFolder(strSourceFolder)
.Copy strFullDestFolder, True
For Each objFolder In .SubFolders
'WScript.Echo "[" & objFolder.Path & "]"
.Attributes = 0
.Delete True
Next
For Each objFile In .Files
Select Case LCase(objFSO.GetExtensionName(objFile.Name))
Case "lnk", "url"
' Nothing to do
Case Else
With objFile
'WScript.Echo objFile.Path
.Attributes = 0
.Delete True
End With
End Select
Next
End With
Else
WScript.Echo "Can't find destination folder [" & strDestFolder & "]."
WScript.Quit 1
End If
Set objFSO = Nothing
WScript.Quit 0
|
Отправлено: 16:56, 24-03-2015 | #13 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Добрый день Iska.
У меня вопрос по скрипту, который вы опубликовали. Я разместил данный скрипт в GPO при выходе пользователя из системы. Все успешно переносится в папку на сервер, но не удаляется информация из папки мои документы и возникает окно с ошибкой 800a0046. В чем может быть дело. Так же на рабочем столе не сохраняются lnk, rdp и url. У некоторых пользователей полностью, у некоторых частично. Еще почему то Windows 10 очень долго думает при выходе из системы и при перезагрузке с этим скриптом. Помогите решить вопрос. Заранее огромное спасибо. |
Последний раз редактировалось Aelksey Kha, 26-05-2016 в 17:20. Отправлено: 16:43, 26-05-2016 | #14 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Aelksey Kha:
Цитата Aelksey Kha:
Цитата Aelksey Kha:
Цитата Aelksey Kha:
Цитата Aelksey Kha:
|
|||||
Отправлено: 18:09, 26-05-2016 | #15 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Iska, спасибо за ответ и размещенный скрипт, то что требовалось он делает, но только жаль что есть ошибки(
1) Да все верно, именно этот скрипт. Огромное вам спасибо еще раз за размещение. 2) Я изменил путь к серверу соответственно. 3) После запуска скрипта выскакивает окно. Я во вложении разместил скрин. Попытался подшаманить и убрал строку [q=Iska]strSourceFolder = WScript.CreateObject("WScript.Shell").SpecialFolders("MyDocuments") strFullDestFolder = objFSO.BuildPath(strUserNameDestFolder, objFSO.GetFileName(strSourceFolder)) If Not objFSO.FolderExists(strFullDestFolder) Then objFSO.CreateFolder strFullDestFolder End If With objFSO.GetFolder(strSourceFolder) .Copy strFullDestFolder, True End With »[/q] После удаления этой строки скрипт срабатывает, но не копирует и не удаляет файлы из документов пользователя. Копирует рабочий стол нормально и очищает тоже без этой строчки, но только вместе с файлами у пользователей удаляются lnk и rdp файлы тоже. 4) "rdp" в строчку я пробовал добавить, но безрезультатно, все тоже самое. 5) Windows 10 думает очень долго, но перезагружается или выходит из системы. На рабочем столе все очищается. Пофиксить проблему я так понимаю не получится( P.S. Так же при работе скрипта без этой строчки, во время первого выхода все хорошо, но второй и последующие входы с новыми файлами на рабочем столе выскакивают ошибки непонятные, но все переносится и чистится. |
Отправлено: 19:09, 26-05-2016 | #16 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Добрый день Iska.
Вы мне поможете с выполнением сценария vbs? |
Отправлено: 09:19, 27-05-2016 | #17 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата Aelksey Kha:
Цитата Aelksey Kha:
Цитата Aelksey Kha:
Цитата Aelksey Kha:
|
||||
Отправлено: 05:32, 29-06-2016 | #18 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Исчезло почти все с моих документов и рабочего стола. | ZioniC | Microsoft Windows 8 и 8.1 | 2 | 06-11-2013 03:39 | |
CMD/BAT - Очистка рабочего стола | sov44 | Скриптовые языки администрирования Windows | 3 | 10-11-2012 20:23 | |
CMD/BAT - [решено] Сортировка документов с рабочего стола по пакам | O L E G | Скриптовые языки администрирования Windows | 4 | 07-09-2012 10:01 | |
Ошибка - Самопроизвольно удалились файлы с рабочего стола и из моих документов | old_nick | Microsoft Windows 2000/XP | 7 | 07-01-2011 09:58 | |
Любой язык - автоматиеская очистка рабочего стола | sanek-l | Скриптовые языки администрирования Windows | 1 | 21-07-2010 12:43 |
|