![]() |
Удаление файлов старше определенной даты
Привет народ.
Powershell только начал изучать, просьба покритиковать код и самое интересное для меня- сделать тоже самое другими способами на powershell(есть ли другие варианты) Скрипт удаляет файлы старше определенной даты. Код:
$deadline="11/01/2014" |
Пару моментов:
Код:
PS > (Get-ChildItem $path1 -File -Force).Where({$_.LastWriteTime -le "11/01/2014"}) | Remove-Item -Verbose |
5. Привести $deadline к типу datetime
Код:
$deadline = [datetime]::parse("11/01/2014") Код:
Не удается сравнить "11/21/2014 22:44:04" с "11/01/2014". Ошибка: "Не удается преобразовать значение |
Цитата:
Цитата:
Цитата:
почему точка(Get-ChildItem $path1 -File -Force).Where Как извлечь атрибут с помощью точки я понимаю, а вот команда where через точку для меня пока взрыв мозга... ЗЫ. Спасибо за помощь, но может есть другие варианты кода для данной задачи, например без ForEach-Object ? И еще задача боевая, хочу поставить скрипт на мониторинг файлопомойки, каждую пятницу скрипт будет проверять размер папки, и если больше определенного размера удалять файлы и папки старше чем определенная дата.... Я сам придумаю скрипт, просто может для данной задачи есть более эффективные способы. |
Цитата:
Цитата:
Код:
[System.DateTime]::Parse("01/10/2014", (New-Object -TypeName System.Globalization.CultureInfo("en-US"))) Цитата:
Цитата:
Цитата:
Скрытый текст
Ну, вот что за @@@?! Отчего в документации ни по 3.0: Get-ChildItem, ни по 4.0: Get-ChildItem нет про «-File», а про «-Directory» только в комментариях?!
|
Цитата:
|
Цитата:
Цитата:
|
Цитата:
Iska, хоть и не PowerShell или WSH, но делает то же самое: http://www.cyberforum.ru/cmd-bat/thr...ml#post6812941. |
Georgio, оригинальный способ ;). Особенно «sort /r» умилило.
|
не в тему
|
Цитата:
Хех.
Это тема отдельного разговора — хреновая документация, отсутствие встроенных командлетов для таких типичнейших задач администрирования, как работа с ftp, почтой, «отваливание» ряда классов Automation, с которыми легко работал WSH, хреновая поддержка локализаций: у одних командлетов есть возможность работы с файлами в OEM, UTF-8 кодировке, у других, того же направления, нет — будто над ними работали совершенно разные команды разработчиков без наличия единого плана.
|
Iska
Цитата:
Kazun Присоединяюсь к вопросу по: Код:
Collection.Where({ expression } [, mode [, numberToReturn]]) |
ForEach and Where magic methods - http://www.powershellmagazine.com/20...magic-methods/
Код:
PS > Get-Help Get-ChildItem -Parameter File |
Foreigner,
Цитата:
P.S. А «Get-Help Get-ChildItem -Parameter File -Online» всё одно ведёт сюда: Get-ChildItem :(. |
Цитата:
Скрытый текст
- пруф http://www.sysadmins.lv/PermaLink,gu...d836a3857.aspx
Цитата:
Предлагаю сделать в разделе и прикрепить ветку Разговоры о Powershell :) |
To Iska:
Get-Help Get-ChildItem -Online ведет http://technet.microsoft.com/library...=wps.630).aspx Get-ChildItem [-Attributes <FileAttributes]>] [-Directory] [-File] [-Force] [-Hidden] [-ReadOnly] [-System] [-UseTransaction] [<CommonParameters>] Тут главное посмотреть Note: Note: This custom cmdlet help file explains how the Get-ChildItem cmdlet works in a file system drive. For informat ion about the Get-ChildItem cmdlet in all drives, type "Get-Help Get-ChildItem -Path $null" or see Get-ChildItem at http://go.microsoft.com/fwlink/?LinkID=113308. RELATED LINKS Online version: http://technet.microsoft.com/library...=wps.630).aspx Get-ChildItem (generic); http://go.microsoft.com/fwlink/?LinkID=113308 И в зависимости от провайдера с которым работает командлет, мы и будет получать параметры: 1) FileSystem PS > Get-help Get-ChildItem -Path $null SYNTAX Get-ChildItem [[-Path] <String[]>] [[-Filter] <String>] [-Exclude <String[]>] [-Force] [-Include <String[]>] [-Name ] [-Recurse] [-UseTransaction [<SwitchParameter>]] [<CommonParameters>] Get-ChildItem [[-Filter] <String>] [-Exclude <String[]>] [-Force] [-Include <String[]>] [-Name] [-Recurse] -Literal Path <String[]> [-UseTransaction [<SwitchParameter>]] [<CommonParameters>] Get-ChildItem [-Attributes <FileAttributes]>] [-Directory] [-File] [-Force] [-Hidden] [-ReadOnly] [-System] [-UseTr ansaction] [<CommonParameters>] 2) Cert Опять же в справке, пример 6: For more information about the Certificate provider and the Cert: drive, go to http://go.microsoft.com/fwlink/?LinkID=113433 or use the Update-Help cmdlet to download the help files for the Microsoft.PowerShell.Security module and then type "Get-Help Certificate". PS > Get-help Get-ChildItem -Path cert:\ SYNTAX Get-ChildItem [[-Path] <String[]>] [[-Filter] <String>] [-Exclude <String[]>] [-Force] [-Include <String[]>] [-Name ] [-Recurse] [-UseTransaction [<SwitchParameter>]] [<CommonParameters>] Get-ChildItem [[-Filter] <String>] [-Exclude <String[]>] [-Force] [-Include <String[]>] [-Name] [-Recurse] -Literal Path <String[]> [-UseTransaction [<SwitchParameter>]] [<CommonParameters>] Get-ChildItem [-CodeSigningCert] [-DnsName <string>] [-EKU <string>] [-ExpiringInDays <int>] [-SSLServerAuthenticat ion] [<CommonParameters>] |
Время: 20:43. |
Время: 20:43.
© OSzone.net 2001-