скрипт powershell для удаления нескольких папок - PullRequest
0 голосов
/ 28 сентября 2011

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

Примеры папок:

Desktop
Избранные
mmerge
мои документы
NetHood
printhood
Недавний
SentTo
меню Пуск
окна
данные приложения
локальные настройки

Я бы хотел удалить все, кроме следующего.

мои документы
mmerge
настольный
Избранное

Есть ли способ отменить это или удалить все со списком исключений, возможно?
Это одинаково для всех пользователей.

путь e: \ redirected \% username% \

Ответы [ 2 ]

0 голосов
/ 28 сентября 2011

Попробуйте что-то вроде:

ls '\Documents and Settings' | ? { ! ($_.psiscontainer -and $_ -match "my documents|mmerge|desktop|favorites") } | rm -rec -force -whatif

Очевидно, что вы должны быть очень осторожны с rm -rec и удалить -whatif . ;) Добавьте -force к ls (Get-ChildItem), если вы хотите, чтобы скрытые папки были видны для вашего уничтожения.

0 голосов
/ 28 сентября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...