![]() |
Bat - добавить дату к имени
Здравствуйте.
Есть папка, в которую падают .txt файлы в течении дня. В этой папке лежат файлы с разными именами, пример: 12345.txt inv01.txt prihod.txt 02-04-21 prihod 01.txt 02-04-21 invst.txt _02-04-21 invst02.txt Нужно сделать так, что бы bat-ник при запуске, добавлял ко всем файлам в начале текущую дату в формате ДД-ММ-ГГ и не трогал файлы у которых уже есть дата. т.е. добавить даты только к этим файлам: 12345.txt inv01.txt prihod.txt |
Powershell
Код:
$t = get-date -Format dd-MM-yy |
samr, первое — дату лучше представлять не в виде ДД-ММ-ГГ, а в виде ГГГГ-ММ-ДД. Вы не возражаете?
Второе: из представленных файлов и Вашего описания можно сделать вывод, что Ваше описание страдает неточностью, поскольку у файла: Цитата:
|
Как заказано. Считаю, что "_02-04-21 invst02.txt" - это неточность постановки, не переименовываю файлы "дд-мм-гг *.*"
Код:
@Echo Off Однако я солидарен с Iska, для сортировки и визуального поиска удобнее формат "ГГГГ-ММ-ДД *.*"
Код:
@Echo Off Считаю, что полезно было бы делать, например, для каждого месяца отдельную папку и туда перемещать файлы.
Код:
@Echo Off |
Цитата:
в данном случае вообще должны быть отдельные директории: "Prixod", "investic", ... внутри папки с месяцами, а файлы должны приходить с четкими именами под эти папки и месяцем и укладываться по назначению и добиться этого надо начиная с себя и выше или ниже по цепочке. |
Цитата:
Цитата:
Все файлы в такой папке(сетевой) копятся, обрабатываются и хранятся максимум 2 дня. После раскидываются по разным папкам (это уже другая задача и она решена). |
samr,
Цитата:
Цитата:
Цитата:
"ГГГГ-ММ-ДД *.*" и "_ГГГГ-ММ-ДД *.*" Для этого надо изменить рег. выражение в findstr под For: Код:
findstr.exe /R /V /C:"^_*20[2-3][0-9]-[0-1][0-9]-[0-3][0-9] .*" |
Время: 19:31. |
Время: 19:31.
© OSzone.net 2001-