|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД |
|
|
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД
|
Старожил Сообщения: 346 |
подскажите, как написать скрипт, что бы удалялось все, с рабочего стола пользователя, кроме определенных ярлыков.
скрипт предполагаю запускать через КД (Logon) |
|
Отправлено: 09:40, 19-12-2014 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать наконец дошли руки, т.к. вопрос встал остро
sov44 ваш скрипт не работает( Iska ваш скрипт с пропуском определенных ярлыков работает на половину. он удаляет файлы все с раб стола, но не трогает ярлыки вообще никакие. помогите сделать корректный скрипт пожалуйста |
Отправлено: 15:44, 20-01-2015 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата santey007:
|
|
Отправлено: 17:42, 20-01-2015 | #22 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать да уверен.
1-если создаю просто файлы на раб.столе, то чистит без проблем 2-если я создаю файл на рабочем столе и делаю тут же ярлык к нему, то при запуске скрипта файл убивает и выдает сообщение (просто путь к ярлыку) и все, ярлык не удаляет. при повторном запуске скрипта уже никаких сообщении не выдает и опять же ярлыки не трогает 3-если я создаю файл на другом диске и делаю ярлык на раб стол для него, то при запуске скрипта выдает опять сообщение (просто путь к ярлыку) и все. при повторном запуске уже ничего не выдает и опять же не удаляет |
Отправлено: 08:33, 21-01-2015 | #23 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата santey007:
|
|
Отправлено: 10:36, 21-01-2015 | #24 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать сори увидел косяк, одну строку не закомментировал, а другую не раскомментировал (внизу эти 2 строки были, незаметил)
а как теперь права развесить на раб стол пользователя? что бы не сохраняли на него ничего? |
Последний раз редактировалось santey007, 21-01-2015 в 11:47. Отправлено: 11:07, 21-01-2015 | #25 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата santey007:
![]() Скрытый текст
Option Explicit
Dim objFSO
Dim objWshShell
Dim objDictionary
Dim objFolder
Dim objFile
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objDictionary = WScript.CreateObject("Scripting.Dictionary")
With objDictionary
.Add "C:\Program Files\Google\Chrome\Application\chrome.exe", ""
.Add "C:\Program Files\Mozilla Firefox\firefox.exe", ""
End With
With objFSO.GetFolder(objWshShell.SpecialFolders.Item("Desktop"))
For Each objFolder In .SubFolders
objFolder.Delete True
Next
For Each objFile In .Files
Select Case LCase(objFSO.GetExtensionName(objFile.Name))
Case "lnk"
If Not objDictionary.Exists(objWshShell.CreateShortcut(objFile.Path).TargetPath) Then
WScript.Echo objFile.Path
'objFile.Delete True
End If
Case Else
objFile.Delete True
End Select
Next
End With
objDictionary.RemoveAll
Set objDictionary = Nothing
Set objWshShell = Nothing
Set objFSO = Nothing
WScript.Quit 0
И — то же самое: Цитата:
|
||
Последний раз редактировалось Iska, 21-01-2015 в 14:42. Отправлено: 11:50, 21-01-2015 | #26 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать увидел косяк, исправил все ок.
еще моменты, как бы оставить файлик рдп подключения или любой другой файл или папку которую необходимо оставить? и развесить права на раб стол, что бы больше не сохраняли туда ничего? |
Последний раз редактировалось santey007, 21-01-2015 в 13:31. Отправлено: 12:08, 21-01-2015 | #27 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата santey007:
Цитата santey007:
Цитата santey007:
Пробуйте (не проверялось): Скрытый текст
Option Explicit Dim objFSO Dim objWshShell Dim objDictionaryExcludeFolders Dim objDictionaryExcludeFiles Dim objDictionaryExcludeShortcuts Dim objFolder Dim objFile Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objWshShell = WScript.CreateObject("WScript.Shell") Set objDictionaryExcludeFolders = WScript.CreateObject("Scripting.Dictionary") Set objDictionaryExcludeFiles = WScript.CreateObject("Scripting.Dictionary") Set objDictionaryExcludeShortcuts = WScript.CreateObject("Scripting.Dictionary") With objDictionaryExcludeFolders .Add "Новая папка", "" .Add "Новая папка (2), "" .Add "Новая папка (3), "" .Add "От создателей Новая папка, Новая папка (2) и Новая папка (3) — Новая папка (4)", "" End With With objDictionaryExcludeFiles .Add "MyFile.txt", "" .Add "MyFile2.txt", "" End With With objDictionaryExcludeShortcuts .Add "C:\Program Files\Google\Chrome\Application\chrome.exe", "" .Add "C:\Program Files\Mozilla Firefox\firefox.exe", "" End With With objFSO.GetFolder(objWshShell.SpecialFolders.Item("Desktop")) For Each objFolder In .SubFolders If Not objDictionaryExcludeFolders.Exists(objFolder.Name) Then WScript.Echo objFolder.Path 'objFolder.Delete True End If Next For Each objFile In .Files If Not objDictionaryExcludeFiles.Exists(objFile.Name) Then Select Case LCase(objFSO.GetExtensionName(objFile.Name)) Case "lnk" If Not objDictionaryExcludeShortcuts.Exists(objWshShell.CreateShortcut(objFile.Path).TargetPath) Then WScript.Echo objFile.Path 'objFile.Delete True End If Case Else WScript.Echo objFile.Path 'objFile.Delete True End Select End If Next End With objDictionaryExcludeFolders.RemoveAll objDictionaryExcludeFiles.RemoveAll objDictionaryExcludeShortcuts.RemoveAll Set objDictionaryExcludeFolders = Nothing Set objDictionaryExcludeFiles = Nothing Set objDictionaryExcludeShortcuts = Nothing Set objWshShell = Nothing Set objFSO = Nothing WScript.Quit 0 Убрал, кстати, «"url"» — там была бы ошибка, для них нужна иная логика. Цитата santey007:
|
||||
Отправлено: 14:41, 21-01-2015 | #28 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать все супер скрипт отрабатывает. вопрос: как его запустить определенным пользователям? а не всем
|
Отправлено: 12:02, 03-02-2015 | #29 |
Старожил Сообщения: 346
|
Профиль | Отправить PM | Цитировать есть мысли?
|
Отправлено: 10:53, 04-02-2015 | #30 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Пропадают 5 ярлыков с раб. стола после спящего режима. Что можно сделать? | Квазар | Хочу все знать | 9 | 12-05-2013 13:45 | |
2008 R2 - есть бантик удаляет все файлы с раб стола а нужно бы поправить чтоб перемещал | m151163 | Windows Server 2008/2008 R2 | 2 | 14-02-2012 16:42 | |
Подскажите, пожалуйста автоудаление ярлыков с раб. стола | truvo | Автоматическая установка Windows 2000/XP/2003 | 3 | 26-11-2010 13:28 | |
CMD/BAT - [решено] Удалить все файлы из папки кроме нужных | Sirimika | Скриптовые языки администрирования Windows | 16 | 12-11-2010 10:33 | |
[решено] Не удалить копию папки Администрирование с раб стола(помогите) | Ashez | Хочу все знать | 5 | 02-12-2008 22:07 |
|