Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

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

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

Старожил


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

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


подскажите, как написать скрипт, что бы удалялось все, с рабочего стола пользователя, кроме определенных ярлыков.
скрипт предполагаю запускать через КД (Logon)

Отправлено: 09:40, 19-12-2014

 

Аватара для cameron

Ветеран


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

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


Цитата Iska:
Тогда их и найти будет невозможно . На Рабочем столе пользователя-то. »
это почему?

-------
в личке я не консультирую и не отвечаю на профессиональные вопросы. для этого есть форум.


Отправлено: 12:13, 19-12-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


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

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


santey007, немного модернизировал скрипт, пробуйте. Для "боевого" запуска убрать echo
Код: Выделить весь код
@echo off
SetLocal enabledelayedexpansion

for /f "delims=" %%a in ('dir/b/ad-h "%userprofile%\..\*"^|findstr/ixvc:"All Users"') do (
for  %%b in ("%userprofile%\..\%%a\Desktop\*") do echo del /f /q "%%b"
for /d %%c in ("%userprofile%\..\%%a\Desktop\*") do echo rd /s /q "%%c"
)
pause
exit
Соглашусь с Iska. Скопировал ярлык с рабочего стола пользователя в c:\Users\Default\Desktop, ярлыка из-под пользователя не увидел. Скопировал в c:\Users\Public\Desktop, ярлык виден и прекрасно удаляется из-под пользователя.
All Users он как-бы есть, но перебрасывает в Public

Последний раз редактировалось sov44, 19-12-2014 в 12:49.


Отправлено: 12:41, 19-12-2014 | #12


Ветеран


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

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


cameron, Georgio, ну, задача-то какая была:
Цитата 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
		WScript.Echo objFolder.Path
		'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
				WScript.Echo objFile.Path
				'objFile.Delete True
		End Select
	Next
End With

objDictionary.RemoveAll

Set objDictionary = Nothing
Set objWshShell   = Nothing
Set objFSO        = Nothing

WScript.Quit 0


Цитата sov44:
Скопировал ярлык с рабочего стола пользователя в c:\Users\Default\Desktop, ярлыка из-под пользователя не увидел. »
На Рабочем столе пользователя Вы должны его увидеть. Причём даже два ярлыка, поскольку скопировали, а не переместили.

Я имел в виду, что мы не найдём в папке, которая отображается на Рабочий стол пользователя.

Последний раз редактировалось Iska, 21-01-2015 в 14:42.

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:51, 19-12-2014 | #13


Старожил


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

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


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

Отправлено: 13:57, 19-12-2014 | #14


Ветеран


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

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


Цитата santey007:
а как заодно права развесить на рабочий стол только на чтение?что бы не смогли больше ничего туда сохранять? »
Не делайте этого.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:02, 19-12-2014 | #15


Старожил


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

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


почему?

Отправлено: 14:09, 19-12-2014 | #16


Ветеран


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

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


Если будете очищать — какой смысл? А через неделю-другую пользователи и сами привыкнут к тому, что сохранять на Рабочий стол бесполезно.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:13, 19-12-2014 | #17


Старожил


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

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


да просто мозг будут выносить: опять сохранил файл на раб. стол, опять забыл его перенести, а это отчет, верни срочно! -вот этого хочу избежать

Отправлено: 08:55, 22-12-2014 | #18


Аватара для Anton04

Ветеран


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

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


Цитата santey007:
да просто мозг будут выносить: опять сохранил файл на раб. стол, опять забыл его перенести, а это отчет, верни срочно! -вот этого хочу избежать »
А вот это решается административными методами, т.е. бумажками с соответствующими подписями.

-------
Слабый всю жизнь идёт лёгкой дорогой, черта сильного выбрать трудный путь.
Будь осторожен в своих желаниях, ибо они иногда сбываются.


Отправлено: 23:23, 22-12-2014 | #19


Старожил


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

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


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

Отправлено: 08:37, 23-12-2014 | #20



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

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Пропадают 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




 
Переход