|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - скрипт для удаления в корзину |
|
|
PowerShell - скрипт для удаления в корзину
|
Новый участник Сообщения: 6 |
У меня есть такой через командную строку
taskkill /f /im uTorrent.exe del C:\Users\007\Desktop\123\*.torrent cd /d C:\Users\007\Desktop\"123"\ && rmdir /s /q . но он удаляет все без возможности восстановить а я хочу чтобы он удалял в Корзину (чтобы если понадобилось восстановить ) нашел вот такой скрипт этот удаляет только папку в корзину Скрытый текст
Add-Type -AssemblyName Microsoft.VisualBasic
[Microsoft.VisualBasic.FileIO.FileSystem]::Deletedirectory('C:\Users\007\Desktop\111','OnlyErrorDialogs','SendToRecycleBin') а этот удаляет только файл в корзину Скрытый текст
Add-Type -AssemblyName Microsoft.VisualBasic
[Microsoft.VisualBasic.FileIO.FileSystem]::DeleteFile('e:\test\test.txt','OnlyErrorDialogs','SendToRecycleBin') а мне надо было чтобы скрипт удалял отдельно файлы которые находятся в папке в корзину если есть у кого то можно еще скрипт который удаляет определенный формат в корзину и другой скрипт чтобы удалял уже папки и под папки месте с файлами которые находятся в папке в корзину Нашел вот такой он удаляет все файлы в папке и под папках остаются только пустые папки, но он удаляет без возможности восстановить Скрытый текст
Get-ChildItem -Path C:\Users\007\Desktop\111 -Include *.* -File -Recurse | foreach { $_.Delete()}
|
|
Отправлено: 13:52, 16-05-2021 |
fascinating rhythm Сообщения: 6648
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 14:15, 16-05-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1227
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 15:22, 16-05-2021 | #3 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать DJ Mogarych,
я сайтов 20-30 просмотрел готового решения не нашел я не сильно в этом шарю так что нахожу что подходящее но удаленный файл не появляется в корзине YuS_2, мне бы что бы он удалял то один файл а все файлы формата c:\temp\*.tmp |
Отправлено: 16:08, 16-05-2021 | #4 |
Crazy Сообщения: 1227
|
Профиль | Отправить PM | Цитировать Цитата Diman625:
вот функция: function remove-itemtorecyclebin { param( [Parameter(ValueFromPipeline)] [ValidateNotNullOrEmpty()] $a ) process { foreach ($item in $a) { $pth = if ($item.fullname){$item.fullname} else { (gi $item).fullname } if (test-path -lit $pth){ $obj = new-object -com Shell.Application $del = $obj.namespace(0).parsename($pth) $del.invokeverb('delete') } } } } $path = 'c:\temp\*' #если требуется рекурсивное удаление всех файлов: #dir $path -file -rec -force|remove-itemtorecyclebin #если требуется удаление файлов определенного типа: #dir $path -incl '*.tmp' -rec -force|remove-itemtorecyclebin #если требуется удаление только каталогов с их содержимым: #dir $path -dir -force|remove-itemtorecyclebin #если требуется удаление и каталогов с их содержимым, и файлов: dir $path -force|remove-itemtorecyclebin |
||
------- Последний раз редактировалось YuS_2, 16-05-2021 в 19:39. Отправлено: 19:26, 16-05-2021 | #5 |
Забанен Сообщения: 793
|
YuS_2, вариант с COM: 1) требует явного освобождения ресурсов, 2) локалезависим, 3) не всегда корректно воспринимает юникод. Поэтому лучше: 1) взять адрес SHFileOperation из виртуальной памяти pwsh, 2) создать делегата для указанной функции, 3) радоваться жизни.
Также есть не очень популярный метод перемещения: Почему сиё не нравится многим? Файл может не отражаться в проводнике корзины. Тогда придётся ещё раз ударить в бубен, призвав на помощь rundll32. |
Последний раз редактировалось greg zakharov, 16-05-2021 в 22:57. Отправлено: 22:30, 16-05-2021 | #6 |
fascinating rhythm Сообщения: 6648
|
Профиль | Отправить PM | Цитировать А какой вообще смысл удалять в корзину скриптом? Место на диске не освобождается.
Копируйте скриптом в другой каталог (что по сути то же самое), или не удаляйте вообще. Удаляйте только то, что точно уже не нужно. |
------- Отправлено: 09:23, 17-05-2021 | #7 |
Забанен Сообщения: 793
|
Цитата DJ Mogarych:
|
|
Отправлено: 17:13, 17-05-2021 | #8 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать я его установил вчера ))) чисто из за этой функции удаления в корзину
вроде все то что я искал Цитата YuS_2:
но что то не понятно что на что менять )) |
|
Отправлено: 22:44, 17-05-2021 | #9 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
что бы не удалять по 10 файлов а просто скрипт нажал и папка пуста иногда подводит )) удаляю почти за груженые файлы или торрент файл загрузки (и приходится за нова качать) так что корзина это промежуточный этап перед удалением)) |
|
Отправлено: 05:37, 18-05-2021 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Как переделать скрипт удаления папок, на скрипт удаления файлов | ufooo | Скриптовые языки администрирования Windows | 2 | 02-06-2015 12:22 | |
VBS/WSH/JS - СКРИПТ для - прикрепление сетевого принтера, а другой для удаленного удаления прогр. | morozov_s_v | Скриптовые языки администрирования Windows | 1 | 17-01-2014 06:45 | |
Любой язык - скрипт для удаления | Rubichek | Скриптовые языки администрирования Windows | 2 | 07-08-2011 14:49 | |
Любой язык - нужен скрипт для удаления всех файлов кроме нужных для запуска Windows XP | Dark Ange1 | Скриптовые языки администрирования Windows | 11 | 07-03-2010 13:34 | |
Скрипт для удаления директорий | dallas | Программирование и базы данных | 5 | 15-01-2003 19:28 |
|