|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - автоматиеская очистка рабочего стола |
|
Любой язык - автоматиеская очистка рабочего стола
|
Новый участник Сообщения: 11 |
посоветуйте как с помощью сценария входа в систему очищать рабочий стол – чтобы оставался фиксированный набор ярлыков, а все файлы и папки перемещались в папку пользователя. ограничение – под конкретного пользователя, а не всех сразу.
в идеале текст сценария и куда его подставить. |
|
Отправлено: 10:12, 15-07-2010 |
Пользователь Сообщения: 140
|
Профиль | Отправить PM | Цитировать sanek-l,
Option Explicit Dim objFSO, objWshShell, objShell Dim objFile, objSubFolder, objFolder Dim objFolderItem, objShellFolder Dim objWshShortcut, strDesktop, strDstPath Dim strUserTask, strUserName, strTask Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objShell = WScript.CreateObject("Shell.Application") Set objWshShell = WScript.CreateObject("WScript.Shell") strDesktop = objWshShell.SpecialFolders("Desktop") ' Определяем "Рабочий стол" пользователя strDstPath = objWshShell.SpecialFolders("MyDocuments") strUserName = objwshshell.ExpandEnvironmentStrings("%USERNAME%") strDstPath = strDstPath &"\"&"DeskResource" ' Определяем целевую папку (в "Моих документах") strUserTask = "HP Pavilion" ' Определяем "конкретного пользователя" If Not strUserTask = strUserName Then MsgBox "Процедура не предусмотрена для текущего пользователя" ' Если пользователь не тот, то... (необязательно) WScript.Quit 0 Else strTask = False Call ClearDesktop("str") IF strTask Then Call Shortcut("str") End if Set objShell = Nothing Set objWshShell = Nothing Set objFSO = Nothing End If Wscript.Echo "Сценарий успешно выполнен!" ' Необязательно WScript.Quit 0 ' ************************************************************************ Function ClearDesktop(str) ' Проверяем все элементы рабочего стола set objFolder = objFSO.GetFolder(strDesktop) For Each objFile In objFolder.Files ' Если не ярлык ' и не ярлык интернета (можно убрать) ' и не файл desktop.ini IF UCase(objFSO.GetExtensionName(objFile)) <> UCase("lnk") And _ UCase(objFSO.GetExtensionName(objFile)) <> UCase("url") And _ objFSO.GetBaseName(objFile.Name) <> "desktop" Then strTask = True If Not objFSO.FolderExists(strDstPath) Then ' Если целевой папки нет objFSO.CreateFolder strDstPath ' создаем её End If objFile.Move strDstPath &"\" ' перемещаем файлы End if Next ' ------------------------------------------------------------------------- For Each objSubFolder In objFolder.SubFolders Set objShellFolder = objShell.NameSpace(objSubFolder.Path) IF Not Len(objShellFolder.Self) < Len(objSubFolder.Name) Then ' Если папка не ярлык strTask = True If Not objFSO.FolderExists(strDstPath) Then objFSO.CreateFolder strDstPath End If If objSubFolder.Files.Count = 0 Then ' Если папка пустая objSubFolder.Delete ' Удаляем Else objSubFolder.Move strDstPath &"\" ' Если нет - перемещаем End If End if Next End function ' ************************************************************************* Function Shortcut(str) ' Создаем ярлык для папки с перемещенными файлами (если его нет) If not objFSO.FileExists(strDesktop & "\DeskResource.lnk") Then Set objWshShortcut = objWshShell.CreateShortcut(strDesktop & "\DeskResource.lnk") objWshShortcut.WorkingDirectory = strDstPath objWshShortcut.TargetPath = strDstPath objWshShortcut.Description = "Сохраненные файлы рабочего стола" objWshShortcut.IconLocation = "shell32.dll, 260" objWshShortcut.Save End If End function |
Последний раз редактировалось deepred, 30-07-2010 в 11:11. Отправлено: 12:43, 21-07-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Конкурс - Очистка истории расположений фонов рабочего стола в Windows 7 | OSZone | Microsoft Windows 7 | 0 | 07-12-2009 09:30 | |
Разное - [решено] Очистка меню Фоновые рисунки рабочего стола Windows Vista | genuge | Microsoft Windows Vista | 1 | 12-08-2009 09:42 | |
Загрузка - Загрузка Рабочего стола | Feodora | Microsoft Windows 2000/XP | 15 | 12-02-2009 20:56 | |
Настройка рабочего стола 98 | Alexia2 | Microsoft Windows 95/98/Me (архив) | 5 | 08-07-2003 05:31 |
|