2017-01-06 1 views
-2

У меня есть текстовый файл в формате ниже - Filelist.txtНужна Powershell скрипт для чтения и извлечения имен файлов из текстового файла

2017-01-05 13:27:35   0 logs/ 
2017-01-06 03:08:10  798 logs/Logs_2016-01-06.zip 
2017-01-05 14:23:45   0 logs/logs/ 
2017-01-06 03:08:10  798 logs/Logs_2016-06-06.zip 
2017-01-06 03:08:10  798 logs/Logs_2016-04-06.zip 
2017-01-06 03:08:10  798 logs/Logs_2016-04-06.zip 
2017-01-06 03:08:10  798 logs/Logs_2016-03-06.zip 

Мне нужна Powershell скрипт для извлечения всего имени файла в этом файле, например, для : Logs_2016-03-06.zip, у которого есть подстрока даты, которая старше 30 дней с текущей даты и удаляет их на диске.

Надеюсь, этот вопрос объяснит мою проблему.

+1

Можете ли вы показать свой текущий сценарий, чтобы мы могли видеть, что вы уже пробовали? – Jonas

ответ

0

Просто используйте некоторые строковые функции для преобразования текста в psobject, используйте New-Timespan, чтобы получить дни. Что-то вроде этого:

Get-Content your_file.txt | % { 
    New-Object psobject -Property @{ 
    days = (New-Timespan -start (Get-Date $_.Substring(0, 19)) -end (Get-Date)).Days 
    file = $_ -replace '^.*\s\s\d+\s(.+)$', '$1' 
    } 
} | ? {$_.file -match '\.' -and $_.days -gt 30} | % { 
    Remove-Item $_.file 
} 
+0

Спасибо Дэйв, это решит проблему. –

Смежные вопросы