@ECHO OFF
SETLOCAL
SET ren_list=D:\Temp\1\ren_list.txt
FOR /F %%f in ('TYPE %ren_list%') DO (
IF EXIST %%f.bak DEL %%f.bak
IF EXIST %%f REN %%f %%~nxf.bak
)
:END
Сначала это были две строчки, которые, что называется, решали задачу "в лоб":
REM Проверяем - если есть старая версия лог-файла, то удаляем её
IF EXIST D:\Temp\1\logfile.bak DEL D:\Temp\1\logfile.bak
REM Переименовываем лог-файл
REN D:\Temp\1\logfile.txt logfile.bak
Потом подумалось, что может оказаться больше одного лога, которые жрут место и которые надо бы периодически удалять. Не, можно, конечно, продолжать лепить строчки дальше, для каждого файла, но это же НЕКРАСИВО. Поэтому я начал чесать лысину в надежде, что это поможет придумать, как сделать красиво :-)
Пример кода для работы со списком у меня уже был, вот от него и начал плясать. Сначала было два списка: файлы, которые нужно переименовать и имена, которые должны получиться. Потом стало понятно, что второй список не нужен. Затем пришлось играться с именами файлов - полное имя/короткое имя, с расширением .bak и без него. Ну и всё такое. Поначалу получалась какая-то ересь, но постепенно из неё как-то получились эти строчки.
Как программисты пишут НОРМАЛЬНЫЕ программы, мне не понять. Они ведь по две строчки кода в день не пишут, верно?
Комментариев нет :
Отправить комментарий