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

Показать сообщение отдельно

Аватара для YuS_2

Crazy


Contributor


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

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


Цитата forza11:
Но как можно реализовать тоже самое, только с множеством каталогов, в которых так же нужно выбрать файлы за предыдущий месяц по названию файла?)
Т.е. вместо одного каталога с файлами будет 100 каталогов типа:
С:\1, С:\2, С:\3 и т.д. »
Для powershell это делается легким движением руки, т.е. созданием массива абсолютных (либо относительных) путей:
Код: Выделить весь код
$src = 'С:\1\*','С:\2\*','С:\3\*'
$flt = '*.csv'
...(dir $src -filt $flt -file|...
- и это без рекурсии. А ещё существует возможность и рекурсивного просмотра как отдельного, корневого каталога, так и массива каталогов...
powershell - очень гибкий инструмент в этом плане.

ЗЫ А, да, по имени файла получить отфильтрованные файлы, при условии именно такого формата, тоже несложно:
Код: Выделить весь код
$src = 'С:\1\*','С:\2\*','С:\3\*'
$dst = 'd:\2'
$flt = '*.csv'
copy (dir $src -filt $flt -file|?{
    ([datetime]::parseexact($_.basename,'yyyyMMdd',$null)).month -eq (get-date).addmonths(-1).month
}).fullname $dst
- да, здесь не учитывается год, т.е. если в исходных каталогах хранятся файлы за несколько лет, то код надо будет поправить...

-------
scio me nihil scire. Ѫ


Последний раз редактировалось YuS_2, 01-10-2018 в 22:53.


Отправлено: 22:14, 01-10-2018 | #14