Это ссылка на пост здесь: Как удалить строки на основе даты из файлов с помощью PowerShell
Используя приведенный ниже код (предоставленный 'mjolinor'), я могу взять монолитный CSV-файл (с разделителем "|") и создать обрезанный CSV-файл, содержащий только строки, содержащие даты меньше $date
:
$date = '09/29/2011'
foreach ($file in gci *.csv) {
(gc $file) |
? {[datetime]$_.split('|')[1] -lt $date
} | set-content $file
}
Приведенный выше код прекрасно работает! Теперь мне нужно создать дополнительные CSV-файлы из монолитного CSV-файла со строками, содержащими даты >= $date
, и каждый файл должен быть разделен на 1 неделю, начиная с $date
.
Например, мне нужны следующие «обрезанные» CSV-файлы (все они созданы из исходного CSV):
- Все даты менее 30.09.2011 (уже с кодом выше)
- Файл с диапазоном дат 09/30 - 10/6
- Файл с диапазоном дат 10/7 - 10/14
- И т. Д., И т. Д., Пока я не достигну самой последней даты