CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Аватара пользователя
santey007

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение santey007 »

не работают бумажки вообще никак, проверено уже давно и ни раз...
Аватара пользователя
Iska

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение Iska »

Цитата santey007:



Iska ваш скрипт с пропуском определенных ярлыков работает на половину. он удаляет файлы все с раб стола, но не трогает ярлыки вообще никакие.
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД




А эти «никакие ярлыки» точно лежат физически на Рабочем столе пользователя, а? А не на Общем для всех пользователей Рабочем столе?
Аватара пользователя
santey007

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение santey007 »

да уверен.

1-если создаю просто файлы на раб.столе, то чистит без проблем

2-если я создаю файл на рабочем столе и делаю тут же ярлык к нему, то при запуске скрипта файл убивает и выдает сообщение (просто путь к ярлыку) и все, ярлык не удаляет. при повторном запуске скрипта уже никаких сообщении не выдает и опять же ярлыки не трогает

3-если я создаю файл на другом диске и делаю ярлык на раб стол для него, то при запуске скрипта выдает опять сообщение (просто путь к ярлыку) и все. при повторном запуске уже ничего не выдает и опять же не удаляет
Аватара пользователя
Iska

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение Iska »

Цитата santey007:



выдает сообщение (просто путь к ярлыку) и все,
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД




Вы раскомментировали само удаление — как я писал в последнем абзаце
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД
данной темы? Покажите Ваш код.
Аватара пользователя
santey007

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение santey007 »

сори увидел косяк, одну строку не закомментировал, а другую не раскомментировал (внизу эти 2 строки были, незаметил)



а как теперь права развесить на раб стол пользователя? что бы не сохраняли на него ничего?
Аватара пользователя
Iska

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение Iska »

Цитата santey007:



правильно сделал?
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД




Почти. Кое-что пропустили при этом Изображение.



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

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







И — то же самое:


Цитата:



Для удаления раскомментируйте помеченные красным строки. Чтобы не выводились сообщения, закомментируйте или удалите помеченные зелёным строки.
Аватара пользователя
santey007

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение santey007 »

увидел косяк, исправил все ок.

еще моменты, как бы оставить файлик рдп подключения или любой другой файл или папку которую необходимо оставить? и развесить права на раб стол, что бы больше не сохраняли туда ничего?
Аватара пользователя
Iska

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение Iska »

Цитата santey007:



как бы оставить файлик рдп подключения
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД




Можно.




Цитата santey007:



или любой другой файл
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД




Можно.




Цитата santey007:



или папку которую необходимо оставить?
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД




Тоже можно.



Пробуйте (не проверялось):



Скрытый текст

[spoiler]Код:
[/spoiler]

Код: Выделить всё

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:



и развесить права на раб стол, что бы больше не сохраняли туда ничего?
CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД




Развешивайте. Я своё мнение на этот счёт, помнится, высказывал выше. Отрицательное.
Аватара пользователя
santey007

Re: CMD/BAT - удалить все файлы с раб.стола, кроме определенных ярлыков. через КД

Сообщение santey007 »

все супер скрипт отрабатывает. вопрос: как его запустить определенным пользователям? а не всем
Ответить

Вернуться в «Скриптовые языки администрирования Windows»