Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Удаление файлов старше определенной даты

Ответить
Настройки темы
PowerShell - Удаление файлов старше определенной даты

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314


Конфигурация

Профиль | Отправить PM | Цитировать


Привет народ.
Powershell только начал изучать, просьба покритиковать код и самое интересное для меня-
сделать тоже самое другими способами на powershell(есть ли другие варианты)

Скрипт удаляет файлы старше определенной даты.

Код: Выделить весь код
$deadline="11/01/2014"
$path1="C:\Temp\test\"
$folder=Get-ChildItem -Path $path1 | Where {$_.LastWriteTime -le "$deadline"}


Foreach ($file in $folder) 
{

      Write-Host Deleting $path1$file
      Remove-Item $path1$file

 }

-------

Ю-ху!


Отправлено: 13:52, 22-11-2014

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата volk1234:
Я по мере сил учусь https://rdpdog.wordpress.com/2014/11...0%D0%BA%D0%B0/ »
Я тоже так, неспешно, учусь. Лет семь, пожалуй .


Хех.
Это тема отдельного разговора — хреновая документация, отсутствие встроенных командлетов для таких типичнейших задач администрирования, как работа с ftp, почтой, «отваливание» ряда классов Automation, с которыми легко работал WSH, хреновая поддержка локализаций: у одних командлетов есть возможность работы с файлами в OEM, UTF-8 кодировке, у других, того же направления, нет — будто над ними работали совершенно разные команды разработчиков без наличия единого плана.

Отправлено: 02:37, 23-11-2014 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1754
Благодарности: 965

Профиль | Цитировать


Iska
Цитата:
Отчего в документации ни по 3.0: Get-ChildItem, ни по 4.0: Get-ChildItem нет про «-File», а про «-Directory» только в комментариях?!
Нашел только онлайн: http://technet.microsoft.com/en-us/l.../hh847897.aspx

Kazun
Присоединяюсь к вопросу по:
Код: Выделить весь код
 Collection.Where({ expression } [, mode [, numberToReturn]])
А точнее, как определить наличие данных возможностей?

Последний раз редактировалось Foreigner, 23-11-2014 в 10:54.


Отправлено: 03:22, 23-11-2014 | #12


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


ForEach and Where magic methods - http://www.powershellmagazine.com/20...magic-methods/

Код: Выделить весь код
PS >  Get-Help Get-ChildItem -Parameter File

-File [<SwitchParameter>]
    Gets files.

    To get only files, use the File parameter and omit the Directory parameter. To exclude files, use the Directory pa
    ameter and omit the File parameter, or use the Attributes parameter.

    To get files, use the File parameter, its "af" alias, or the File value of the Attributes parameter.

    Required?                    false
    Position?                    named
    Default value
    Accept pipeline input?       false
    Accept wildcard characters?  false
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:25, 23-11-2014 | #13


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Foreigner,
Цитата Foreigner:
Iska
Цитата:
Отчего в документации ни по 3.0: Get-ChildItem, ни по 4.0: Get-ChildItem нет про «-File», а про «-Directory» только в комментариях?!
Нашел только онлайн: http://technet.microsoft.com/en-us/l.../hh847897.aspx »
Дык, в том-то и беда, что в одном месте есть, в другом — ни слова.


P.S. А «Get-Help Get-ChildItem -Parameter File -Online» всё одно ведёт сюда: Get-ChildItem .

Отправлено: 11:28, 23-11-2014 | #14


Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


Цитата Iska:
будто над ними работали совершенно разные команды разработчиков без наличия единого плана »
так и было
Скрытый текст
- пруф http://www.sysadmins.lv/PermaLink,gu...d836a3857.aspx
Цитата:
Поскольку я немного разбираюсь в PKI и PowerShell, состав этого модуля меня несколько смутил, удивил, оздачил, загнал в тупик. Например, зачем было делать 2 отдельных командлета для экспорта и импорта сертификатов (один для простых сертификатов, другой исключительно для pkcs#12). Что делает Switch-Certificate для меня осталось загадкой. Кстати говоря, командлет Get-Certificate делает совсем не то, что вы подумали. Этот командлет выполняет энроллмент (запрос) сертификата.


Предлагаю сделать в разделе и прикрепить ветку Разговоры о Powershell

-------

Ю-ху!


Отправлено: 12:40, 23-11-2014 | #15


Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


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>]

Отправлено: 14:52, 23-11-2014 | #16



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - Удаление файлов старше определенной даты

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Автоматическое удаление файлов старше 2х часов Den13V Скриптовые языки администрирования Windows 7 20-02-2018 16:18
Любой язык - [решено] Удаление файлов старше N дней DOCznet Скриптовые языки администрирования Windows 2 27-09-2012 11:42
VBS/WSH/JS - [решено] Удаление файлов по сети старше 7 дней, оставлять не менее 10 файлов white155 Скриптовые языки администрирования Windows 6 04-01-2012 00:42
Прочее - удаление файлов старше 10 дней admin666 Общий по Linux 1 23-07-2009 19:09
Прочие БД - Interbase 7,удаление всех записей до определенной даты dima-sh Программирование и базы данных 1 27-02-2009 01:27




 
Переход