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

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

Ответить
Настройки темы
CMD/BAT - [решено] Непонятная ошибка при переименовании файлов в цикле

Новый участник


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

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


Добрый день!

Такая проблема - периодически поступают файлы следующего формата БББЦЦЦЦЦ.dat, их надо переименовывать с увеличением значения "ЦЦЦЦЦ" на определенную величину
Вот такой CMD:

Код: Выделить весь код
set "ni=06300"

FOR %%a IN ("TST*.dat") DO call :nn_fnd "%%a"

Exit

:nn_fnd
   set "fname=%~n1"
   set "fnd=%fname:~-8,3%"& set "n1=%fname:~-5%"
   set /a "nn=1%n1% + 1%ni%"
   set "nn=%nn:~1%"
   ren "%~1" "%fnd%%nn%%~x1"
exit /b

Пример списка файлов:

tst00171.dat
tst00172.dat
tst00173.dat
tst00774.dat
tst01575.dat
tst01876.dat
tst05577.dat
tst09478.dat

Всё вроде бы работает, но первый файл переименовывается дважды - первым в цикле (как и должно быть), и перед "tst09478".
После первого раза - tst06471.dat, и потом ещё раз - tst12771.dat
в итоге вся суть идеи теряет смысл...(((

Не пойму, в чем косяк...

Отправлено: 12:47, 01-06-2020

 

Ветеран


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

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


не нужно менять то множество, по которому итерируете

складывайте переименованное в другую директорию
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:48, 02-06-2020 | #11



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

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


Новый участник


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

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


Спасибо всем откликнувшимся, вопрос решен... даже несколькими способами! )))
Как говорится - выбирай на вкус...

Отправлено: 14:16, 02-06-2020 | #12


Ветеран


Contributor


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

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


Цитата Busla:
не нужно менять то множество, по которому итерируете »
Менять-то можно, только надо сначала его получить, а потом уже менять полученный набор. Иначе да, интересные фефекты фикции эффекты обеспечены.

Отправлено: 19:55, 02-06-2020 | #13



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - При переименовании файлов "Этот файл или папка не доступны" DmitriySC Microsoft Windows 10 1 05-07-2016 16:41
CMD/BAT - [решено] Ошибка в переименовании группы файлов. shao Скриптовые языки администрирования Windows 8 24-04-2015 14:17
Разное - Ошибка при переименовании папки, файла vit063 Microsoft Windows Vista 6 22-07-2010 10:33
Разное - Ошибка 0x80004005 при создании или переименовании папок sektor1876 Microsoft Windows 7 19 01-06-2010 16:01
Разное - При переименовании файлов они меняют своё имя только после нажатия F5. roniro Microsoft Windows 2000/XP 1 11-02-2010 16:04




 
Переход