Во-первых, я согласен с Ansgar Wiechers: Зачем удалять файлы и папки рабочего стола пользователей?
Я знаю, есть некоторые варианты использования, где это имеет смысл. Но такое вмешательство в управление пользователями должно быть действительно объяснено, задавая здесь вопрос «Переполнение стека» таким вопросом.
Во-вторых, команда delete, отправленная npocmaka, удаляет все файлы в папке рабочего стола пользователей, но не вложенных папок в папку рабочего стола.
Поэтому пакетный файл необходимо будет еще одна строка:
@echo off
del /F /Q "%USERPROFILE%\Desktop\*" 2>nul
for /D %%D in ("%USERPROFILE%\Desktop\*") do rd /Q /S "%%~D" 2>nul
После этой операции только элементы из всех пользователей папки рабочего стола по-прежнему отображаются на рабочем столе пользователя.
Чтобы запретить пользователям, чтобы поместить файлы и папки на своем собственном рабочем столе, значение строки Desktop
в
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
и
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
может быть изменен для всех пользователей настольной папке, которая по умолчанию с защитой от записи с помощью соответствующих разрешений NTFS для стандартных пользователей.
Конечно, разрешения NTFS для папки %USERPROFILE%\Desktop
могут быть изменены после очистки, чтобы пользователь не мог помещать файлы и папки на свой рабочий стол.
В чем проблема с 'del/q/f% userprofile% \ Desktop \ *'? – npocmaka
Ой ... Ну, это выглядит многообещающе. Я дам эту попытку в сочетании с запланированной задачей. Я дам вам знать, если это сработает ... Спасибо до сих пор ... – Rickson
Что еще более важно: * why * бы вы хотели это сделать? Пользовательские настольные компьютеры создаются пользователем. Я не знаю ни о ком другом, но я был бы очень зол, если бы кто-то решил удалить вещи с моего рабочего стола, которые я там положил. –