![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - Очистка корзины пользователей. |
|
Любой язык - Очистка корзины пользователей.
|
Новый участник Сообщения: 2 |
Добрый день!
прошу помочь со скриптом для очистки корзины. Рабочий стол и папка мои документы у всех пользователей переадресованы на файловый серевер, соответственно корзина тоже, задача очистить корзину от файлов старше 30 дней. |
|
Отправлено: 14:03, 05-05-2017 |
Ветеран Сообщения: 1259
|
Профиль | Отправить PM | Цитировать PowerShell:
(New-Object -Com Shell.Application).NameSpace(10).Items() | ? {$_.ModifyDate -lt (Get-Date).AddDays(-30) -and $_.IsFolder -eq $false} | % { Remove-Item -LiteralPath $_.Path -Force} |
Отправлено: 15:06, 05-05-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Прошу прошения, неверно сформулировал, нужно чтобы скрипт удалял файлы перемещённые в корзину более 30 дней назад.
|
Отправлено: 15:32, 05-05-2017 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать На WSH:
Скрытый текст
Option Explicit Dim objFSO Dim objShell Dim objFolder Dim objFolderItem Dim dtDeleteDate Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") With WScript.CreateObject("Shell.Application") Set objFolder = .NameSpace("Shell:RecycleBinFolder") If Not objFolder Is Nothing Then For Each objFolderItem In objFolder.Items dtDeleteDate = CDate(Replace(Replace(objFolder.GetDetailsOf(objFolderItem, 2), ChrW(&H200E), ""), ChrW(&H200F), "")) If DateDiff("d", dtDeleteDate, Now()) > 30 Then If objFolderItem.IsFolder And objFolderItem.IsFileSystem And (StrComp(objFolderItem.Type, "Папка с файлами", vbTextCompare) = 0) Then objFSO.DeleteFolder objFolderItem.Path, True Else objFSO.DeleteFile objFolderItem.Path, True End If End If Next Else WScript.Echo "Can't connect to RecycleBin folder" WScript.Quit 1 End If End With Set objFSO = Nothing WScript.Quit 0 Проверялось на Windows 7 SP1 x64, для других ОС надо смотреть: а) есть ли в Проводнике в Корзине столбец Дата удаления, и под каким номером он числится в данной конкретной ОС, б) что именно и в каком формате возвращает этот столбец (для меня, например, была несколько неожиданной картина, что внутри строки с датой удаления есть некие «разделители»). И соответствующим образом учитывать и обрабатывать в коде. |
Последний раз редактировалось Iska, 05-05-2017 в 16:51. Отправлено: 16:43, 05-05-2017 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать На PowerShell:
(New-Object -ComObject Shell.Application).NameSpace('Shell:RecycleBinFolder').Items() | Where-Object -FilterScript { ([System.DateTime]::Parse($oFolder.GetDetailsOf($_, 2).Replace(([System.Char]0x200E).ToString(), '').Replace(([System.Char]0x200F).ToString(), ''), [System.Globalization.CultureInfo]::CurrentCulture)).AddDays(30) -le (Get-Date) } | ForEach-Object -Process { Remove-Item -LiteralPath $_.Path -Force } |
|
Отправлено: 18:04, 05-05-2017 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Очистка папки %temp% у всех пользователей в системе. | noxville | Скриптовые языки администрирования Windows | 16 | 18-08-2020 06:47 | |
2008 R2 - Очистка корзины и папки Загрузки через АД | Almest | Windows Server 2008/2008 R2 | 6 | 08-06-2014 12:16 | |
CMD/BAT - [решено] Очистка home каталогов пользователей. | alexisgreen | Скриптовые языки администрирования Windows | 2 | 28-06-2013 15:22 | |
Система - Контроль Корзины | Joyman | Программное обеспечение Windows | 2 | 23-12-2009 17:24 | |
Очистка темпов и корзины у Юзверей?! | a l e x u s | Microsoft Windows NT/2000/2003 | 2 | 09-06-2008 13:33 |
|