|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Поэтапное переименование файлов |
|
CMD/BAT - [решено] Поэтапное переименование файлов
|
Новый участник Сообщения: 3 |
Помогите, плиз!
Есть папка, в которой появляются файлы вида File_XXX.DAT, где XXX - случайное, заранее не известное число. Нужно переименовать самый старый файл File_XXX.DAT в Current.DAT После удаления Current.DAT из папки другой программой, переименовать следующий самый старый файл и т.д. Заранее благодарен! |
|
Отправлено: 16:04, 26-01-2012 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Наверное, слишком много прошу. В принципе, у меня проблема лишь с получением имени самого старого файла в переменную. Дальше - справлюсь.
|
Отправлено: 16:27, 26-01-2012 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать |
------- Последний раз редактировалось megaloman, 26-01-2012 в 19:46. Причина: Нашел наиболее универсальное ИМХО решение, лишнее удалил. Идею выйти из For на метку подсмотрел в пришедшей почте в ответе Автор: Anonymоus Отправлено: 18:27, 26-01-2012 | #3 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Спасибо за решение!
Доделал его под себя. Посмотрите, пожалуйста, нет ли в нем опасности одновременного обращения к файлу данных Current.dat рабочей программы и самого скрипта. Программа пытается загрузить файл раз в минуту, в случае успеха, удаляет файл. @Echo Off :: Скрипт подготовки файлов для импорта. :: Файлы поступают в папку по электронной почте. :: Рабочая программа настроена на загрузку данных с файла Current.dat, с последующем его удалением. :: Обязательно использовать маску, отличную от файла подготовленного к загрузке. Иначе файл будет переименовываться циклично. Set Where=C:\Exchange\in Set NewName=Current.dat Set Maska=d*.dat :: Ждем появления нового файла данных и удаления подготовленного файла :Test IF exist "%Where%\%Maska%" IF not exist "%Where%\%NewName%" GOTO :Beg GOTO :Test :: Переименовываем самый старый файл :Beg FOR /F "usebackq delims=" %%f IN (`Dir "%Where%\%Maska%" /B /A:-D /O:D`) DO Ren "%Where%\%%f" "%NewName%" & GOTO :Continue :Continue sleep 10 GOTO :Test или на время проверки, на него накладываются какие либо ограничения, и проверку лучше исключить? |
Отправлено: 15:08, 27-01-2012 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Переименование файлов | adm1nzoda | Скриптовые языки администрирования Windows | 3 | 28-12-2010 13:26 | |
CMD/BAT - Автоматизация (поэтапное перемещения файлов) между двумя директориями | alexey_vf | Скриптовые языки администрирования Windows | 2 | 22-12-2010 20:21 | |
CMD/BAT - Переименование файлов. | gen0m.rsw | Скриптовые языки администрирования Windows | 1 | 15-10-2010 19:15 | |
переименование файлов | mask | Программирование и базы данных | 6 | 20-05-2003 00:53 | |
Переименование файлов | Pavelz | Microsoft Windows NT/2000/2003 | 7 | 24-01-2003 10:32 |
|