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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименовать файлы в директории (rename)

Ответить
Настройки темы
CMD/BAT - [решено] Переименовать файлы в директории (rename)

Пользователь


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

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


Здравствуйте. В директории e:\backup присутствуют файлы
RezervnoeKopirovanie.afi
RezervnoeKopirovanie1.afi

С понедельника по пятницу создается силами программы AOMEI создается дифференциальная копия образа. Программа предусматривает возможность выполнения post-script по завершении сеанса резервного копирования. Идея была следующая:

ЧАСТЬ № 1
каждый день после создания резервной копии запускается скрипт переименования файлов *.afi, путем добавления текущей даты в имя файла, то есть

Сегодня:
RezervnoeKopirovanie_08.04.2021.afi

Завтра:
RezervnoeKopirovanie_08.04.2021_09.04.2021.afi
RezervnoeKopirovanie1_09.04.2021.afi

Послезавтра:
RezervnoeKopirovanie_08.04.2021_09.04.2021_10.04.2021.afi
RezervnoeKopirovanie1_09.04.2021_10.04.2021.afi
RezervnoeKopirovanie2_10.04.2021.afi

ЧАСТЬ № 2

Каждую пятницу запускается скрипт, который из директории e:\backup будет находить файл в имени с текущей датой и копировать его на диск f:\

Собственно, до ЧАСТИ № 2 я так и не дошел, застряв в ЧАСТИ № 1, а именно:
при выполнении данной команды

for %%f in ("e:\backup\*.afi") do (rename "*.afi" *_%date%.afi)

RezervnoeKopirovanie.afi переименовывается в RezervnoeKopirovanie.afi_08.04.2021.afi вместо RezervnoeKopirovanie_08.04.2021.afi, а при повторном запуске этой же команды вообще ничего не происходит, то есть
файл RezervnoeKopirovanie.afi_08.04.2021.afi не переименовывается в RezervnoeKopirovanie.afi_08.04.2021.afi_08.04.2021.afi

З.Ы. Хотелось бы конечно еще, чтобы при выполнении скрипта удалялась часть имени с предыдущими датами...
RezervnoeKopirovanie_08.04.2021_09.04.2021_10.04.2021.afi --> RezervnoeKopirovanie_10.04.2021.afi

З.Ы.Ы. Пока писал сообщение мысль посетила, может должно быть не "дописывание даты", а полностью переименование файла?
вместо
(rename "*.afi" *_%date%.afi) --> (rename "*.afi" *RezervnoeKopoirovanie_%date%.afi)

Тем, кто дочитал - РЕСПЕКТ!
Буду признателен за любую помощь!

Отправлено: 18:10, 08-04-2021

 

Ветеран


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

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


Цитата epoddubniy:
"t$ : Имя "t$" »
именно так и записано? тогда тут и ошибка (опечатка), у DJ Mogarych,
Цитата DJ Mogarych:
$t = ( »
Это сообщение посчитали полезным следующие участники:

Отправлено: 19:47, 11-04-2021 | #11



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

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


Пользователь


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

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


Цитата megaloman:
ИМХО, надо так:
1. Каждый день пусть программа создаёт бэкапы в папке Backup, никакие переименования делать не надо.
2. Раз в неделю, например, запускается скрипт с переименованием имён этих файлов без даты в имени для добавления даты. Причем лучше (не принципиально) впереди в формате ГГГГ.ММ.ДД_
3. Переименованные файлы сегодняшнего дня копируются в указанное место, лучше с созданием подпапки ГГГГ.ММ.ДД
4. Переименованные файлы сегодняшнего дня перемещаются в создаваемую в подпапку папки Backup\ГГГГ.ММ.ДД
В принципе, переименование вообще не имеет смысла (п.2), если периодически разбрасывать группы созданных бэкапов по подпапкам
И Вы совсем не думаете о том, что у Вас будут бэкапы бесконечно накапливаться, смысла в старых - никакого, зато место забьёте всё. »
Да. Спасибо большое, megaloman, . Сделал таким образом: на один диск делаются ежедневные бэкапы с ПН по ПТ, на другой диск каждую субботу копируются файлы из ежедневных бэкапов (через планировщик, robocopy /minage:1). По каждому из жестких дисков ежедневно в 9:00 запускается скрипт и информирует, сколько процентов свободного места осталось. Если свободное место будет заканчиваться, ненужное руками удалю.

Отправлено: 20:37, 01-05-2021 | #12



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименовать файлы в директории (rename)

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Переименовать файлы Alexander_88 Скриптовые языки администрирования Windows 4 05-07-2019 11:26
PowerShell - Переименовать файлы XML al-1k Скриптовые языки администрирования Windows 11 15-05-2017 19:37
CMD/BAT - Вывести файлы из директории в меню choice setdmg Скриптовые языки администрирования Windows 3 15-10-2014 20:32
CMD/BAT - Переименовать и переместить файлы vider Скриптовые языки администрирования Windows 7 12-05-2013 16:35
$OEM$ директории - не копируются файлы _Flame_ Автоматическая установка Windows 2000/XP/2003 5 19-06-2007 11:58




 
Переход