С Новым годом! Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
5 / 2 / 3
Регистрация: 28.10.2019
Сообщений: 87

Ежедневное переименование файлов в папке

25.02.2020, 06:53. Показов 2813. Ответов 22

Студворк — интернет-сервис помощи студентам
У меня такая беда. Задали задание: "Есть папка, в ней находится excel файл с названием '1' . Он всё время дополняется. В конце каждого дня ( в 21:00 ) к имени этого Excel-файла должна прибавляться единица. [т.е завтра файл будет уже назван - 2, после завтра - 3 итд.]. я знаю как реализовать ежедневный цикл - Через Планировщик задач, запускать .bat файл с кодом. В чем вопрос? Я не знаю как написать код. Как сделать, чтобы имя файла всё время изменялось и прибавлялось на 1? Помогите пожалуйста, очень срочно нужно.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
25.02.2020, 06:53
Ответы с готовыми решениями:

Переименование файлов в папке
Доброго времени суток! Помогите написать батник, чтобы автоматически менял имя файла, который появляется после скана, на другой и добавлял...

Переименование файлов в папке
есть какие то файлы в папке например dsfgsdf.rwer fsdff.tret 453535.ertre fdsfdsfsdf.tret ...

Переименование несколько файлов с абракадоброй в одной папке
В папке есть большое количество файлов (их на самом деле еще больше... но в другой папке...). Вот такой вот ужас в этой папке (и не...

22
6968 / 2862 / 1100
Регистрация: 06.06.2017
Сообщений: 9,708
25.02.2020, 07:14
Windows Batch file
1
@cmd /q/v/c "for /f "delims=" %%x in ('where С:\Path\to:*.xls') do >nul set/a c=%%~nx+1 &ren "%%x" !c!%%~xx"
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
25.02.2020, 12:48
Добрый день! При условии, что данный файл в папке единственный и bat-ник запускается непосредственно из каталога:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
setlocal enabledelayedexpansion
for %%i in (*.xls) do (
    echo %%i>1.txt
)
for /f "tokens=1 delims=." %%i in (1.txt) do (
    set /A number_before=%%i
    set /A number_after=!number_before!+1
)
for %%i in (*.xls) do (
    ren %%i !number_after!.xls
)
del 1.txt
P.S. Батник, соответственно, запихнуть в планировщик
0
6968 / 2862 / 1100
Регистрация: 06.06.2017
Сообщений: 9,708
25.02.2020, 12:50
Karen87, зачем изобретать костыльный велосипед (три цикла с запихиванием во временный файл), если я дал локаничное решение? И из планировщика ваш код не сработает по очевидной причине.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
25.02.2020, 12:55
Цитата Сообщение от FlasherX Посмотреть сообщение
зачем изобретать костыльный велосипед
Я лишь предложил свой вариант, не претендуя на его эталонность или это противоречит правилам форума?
Цитата Сообщение от FlasherX Посмотреть сообщение
И из планировщика ваш код не сработает по очевидной причине
Согласен. Код с учётом каталога, в котором находится файл:
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
setlocal enabledelayedexpansion
cd C:\papka
for %%i in (*.xls) do (
    echo %%i>1.txt
)
for /f "tokens=1 delims=." %%i in (1.txt) do (
    set /A number_before=%%i
    set /A number_after=!number_before!+1
)
for %%i in (*.xls) do (
    ren %%i !number_after!.xls
)
del 1.txt
0
6968 / 2862 / 1100
Регистрация: 06.06.2017
Сообщений: 9,708
25.02.2020, 12:59
Цитата Сообщение от Karen87 Посмотреть сообщение
Я лишь предложил свой вариант
А зачем предлагать заведомо худший вариант?
Цитата Сообщение от Karen87 Посмотреть сообщение
Код с учётом каталога, в котором находится файл:
cd /d или pushd должно быть. Не забываем про разные диски.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
25.02.2020, 13:05
Цитата Сообщение от FlasherX Посмотреть сообщение
А зачем предлагать заведомо худший вариант?
Я думаю стоит начать с того, что вариант рабочий, а то, что он хуже Вашего... Ну я отрицать не буду. В данной ситуации я преследую 2 цели:
1) Помочь человеку
2) Развить свои навыки
Цитата Сообщение от FlasherX Посмотреть сообщение
Не забываем про разные диски
Уж в этой строчке я думаю автор темы разберётся, хотя конечно соглашусь с Вами
0
6968 / 2862 / 1100
Регистрация: 06.06.2017
Сообщений: 9,708
25.02.2020, 13:18
Цитата Сообщение от Karen87 Посмотреть сообщение
Я думаю стоит начать с того, что вариант рабочий, а то, что он хуже Вашего...
Думаю, не стоит вообще начинать ни того, ни с другого. Плохая помощь уместна там, где нет никакой иной. Для тренировок на плохих примерах есть личный компьютер. После отточения навыков добро пожаловать.
Цитата Сообщение от Karen87 Посмотреть сообщение
Уж в этой строчке я думаю автор темы разберётся
Вы же сразу не разобрались, новобранцу дойти до этого ещё сложнее. Местных примеров масса...
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
25.02.2020, 13:41
Цитата Сообщение от FlasherX Посмотреть сообщение
Плохая помощь уместна там
Почему так категорично? Плохая помощь - это помощь, после которой не получен нужный эффект, эффект отрицательный либо вообще отсутствует. По-моему, результат после выполнения Вашего и моего сценария одинаковый. При всём глубоком уважении к Вам Вы неправы
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
25.02.2020, 14:19
Цитата Сообщение от Karen87 Посмотреть сообщение
или это противоречит правилам форума?
Правилам нет, а рекомендациям да: Как правильно и грамотно отвечать на вопросы (3, 4 и 7 абзацы)


Добавлено через 3 минуты
Цитата Сообщение от Karen87 Посмотреть сообщение
Почему так категорично?
Помните как в фильме "С легким паром", Брыльская (после реплики Мягкова: "Ошибки врачей дорого стоят") говорит: "Наши ошибки менее заметны вначале, но в конечном итоге обходятся не менее дорого"
1
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
25.02.2020, 14:19
Цитата Сообщение от alpap Посмотреть сообщение
а рекомендациям да
А в чём, собственно, противоречие?
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
25.02.2020, 14:21
Непонимание или упорство? Уж лучше первое ...
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
25.02.2020, 14:23
Мы все здесь собрались для того, чтобы решить задачу, которая имеет вполне определенный ответ. Как известно, есть задачи, имеющие более одного варианта решения. Каждый из нас предложил свой, прошу заметить рабочий вариант. Честно, мне совсем неясна Ваша позиция в отношении меня.
0
6968 / 2862 / 1100
Регистрация: 06.06.2017
Сообщений: 9,708
25.02.2020, 15:51
Лучший ответ Сообщение было отмечено twitzz как решение

Решение

Цитата Сообщение от Karen87 Посмотреть сообщение
в отношении меня.
Не вас, а вашей позиции.
Цитата Сообщение от FlasherX Посмотреть сообщение
если я дал локаничное решение
Кстати, я и сам поспешил. where тут ни к чему:
Windows Batch file
1
@cmd /q/v/c "for %%x in ("С:\Path To\*.xls") do >nul set/a c=%%~nx+1 &ren "%%x" !c!%%~xx"
Разве что при наличии там же неномерных xls:
Windows Batch file
1
@cmd /q/v/c "for /f "delims=" %%x in ('where "С:\Path To:*.xls"^|findstr \\[1-9][0-9]*\.xls$') do >nul set/a c=%%~nx+1 &ren "%%x" !c!%%~xx"
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
26.02.2020, 11:32
Цитата Сообщение от Karen87 Посмотреть сообщение
мне совсем неясна Ваша позиция в отношении меня
Вашими же словами
Цитата Сообщение от Karen87 Посмотреть сообщение
Плохая помощь - ..., эффект отрицательный
мало того что код в п3 "ненормально раздут" так еще запущенный пользователем не имеющем права админа из планировщика будет выполнен не с среде расположения bat, а среде расположения cmd.exe, т.е. в папке system32. И к чему это приведет? Не страшно?
Человек решает более-менее серьезную задачу, хочет получит и рабочий и лаконичный код при этом слабо соображая в этом и не сможет отличить чьи-то попытки потренироваться от полезного кода. Как в "Операции Ы" - тренируйтесь на кошках, в данном случае студентах, вот им точно не для работы нужен код и ничего страшного не будет и им полезно - разгребать ваши ошибки, глядишь чему-то научатся кроме как задание переписывать (а то и просто фотографировать) на форум. Я совсем ничего против вас не имею, все мы были дилетантами и хотели показать свое мастерство чуть научившись чему-то, но надо или досконально проверять свой код на живом примере и в разных вариантах желательно пока нет опыта или не лезть в задачи которые нужны для дела.


Добавлено через 9 минут

Не по теме:

P.S.
здесь, кстати, я ответ в п7 человеку дал потому что жалко его стало после ваших кодов почти в 100 строк, а он просил именно сократить, у него все работало. Но после моих 5-ти строк кода вы продолжили свое изобретение, вместо подумать - а может я что-то делаю не так?

1
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
26.02.2020, 12:44
Цитата Сообщение от alpap Посмотреть сообщение
мало того что код в п3 "ненормально раздут" так еще запущенный пользователем не имеющем права админа из планировщика будет выполнен не с среде расположения bat, а среде расположения cmd.exe, т.е. в папке system32. И к чему это приведет? Не страшно?
Если Вы обратили внимание, то в п. 5 я ошибку исправил. Вы ошибок не совершаете?
Цитата Сообщение от alpap Посмотреть сообщение
Человек решает более-менее серьезную задачу, хочет получит и рабочий и лаконичный код
Где в его просьбе хоть слово о лаконичности кода? Код рабочий на 100%, пусть и не лаконичный. О целях участия в данной теме я писал выше.
Цитата Сообщение от alpap Посмотреть сообщение
кстати, я ответ в п7 человеку дал потому что жалко его стало после ваших кодов почти в 100 строк
А я руководствовался желанием помочь. Человек оценил помощь.
0
26.02.2020, 13:24

Не по теме:

Цитата Сообщение от Karen87 Посмотреть сообщение
Вы ошибок не совершаете?
Да все ошибки совершают, но .... Когда я имел еще мало опыта я умел и признавать ошибки, но самое главное, если я пытаясь помочь видел в ходе этого код более опытного участника форума и видел что код удачнее, компактнее и видел опыт этого человека по отзывам, я, не будучи уверенным даже на 70% что мой код подойдет откровенно и говорил ТС - Я не уверен в своем коде, хотите пробуйте, но лучше используйте код вот этого участника если надежность на первом месте.

0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
26.02.2020, 14:56
Цитата Сообщение от alpap Посмотреть сообщение
Когда я имел еще мало опыта я умел и признавать ошибки
Ошибки я свои признавал и исправлял, можете это лицезреть, если почитаете
Цитата Сообщение от alpap Посмотреть сообщение
Я не уверен в своем коде, хотите пробуйте
В теме про "100 строк кода" к своему коду я приложил фразу "Я вижу это так"...
1
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
26.02.2020, 15:56
Цитата Сообщение от Karen87 Посмотреть сообщение
можете это лицезреть
больше вижу упрямства, ну да ладно, не в этом суть, а вот в чем
Цитата Сообщение от Karen87 Посмотреть сообщение
Код рабочий на 100%
Конкретно для этого случая и при таких условиях - допустим и то сильно не всматривался.
И это для обобщения чтобы было понятно из-за чего сыр-бор.
Мы в разделе bat/cmd, инструмента примитивного и уже очень древнего, поэтому писать серьезные, а главное масштабные коды на cmd ненормально и неправильно, есть альтернативы для этого и исходя из этого
Цитата Сообщение от Karen87 Посмотреть сообщение
Где ... хоть слово о лаконичности кода?
уже не требование TC, а норма для любых запросов, в более сложных кодах и на cmd новичок не разберется, а так нужно как подспорье для быстрого решения и что-то негабаритное и простое чтобы забравшись в справку можно было самому в этом коде что-либо изменить под свои нужды не прибегая каждый раз за помощью по мелочам опять на форум.
0
3449 / 1110 / 494
Регистрация: 29.05.2016
Сообщений: 4,566
26.02.2020, 16:07
Цитата Сообщение от alpap Посмотреть сообщение
уже не требование TC, а норма для любых запросов, в более сложных кодах и на cmd новичок не разберется, а так нужно как подспорье для быстрого решения и что-то негабаритное и простое чтобы забравшись в справку можно было самому в этом коде что-либо изменить под свои нужды не прибегая каждый раз за помощью по мелочам опять на форум.
Вот с этим я может и соглашусь. Всего лишь можно было объяснить Вашу позицию именно так, а не бросать в человека, который решил помочь и помог грязью. Это я о "плохой помощи"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.02.2020, 16:07
Помогаю со студенческими работами здесь

Перемещение и переименование всех файлов в папке с расширением .json
Нужно сделать батник, чтобы он переносил файлы с расширением .json из папки А в папку В, и добавлял к их имени дату изменения. Я пытался...

Переименование первых подпапок в каждой папке
Можно ли создать батник который входил в некую Главную папку, имеющую множество подпапок с разными уровнями вложения и со всеми этими...

Переименование PDF-файлов в имена, берущиеся из содержимого этих файлов
Всем доброго времени суток!:) Подскажите, пожалуйста, как переименовать файл с расширением pdf, взяв сам текст для наименования файла из...

Переименование файлов именами существующих файлов
Доброго времени суток! Помогите, пожалуйста, решить задачу. Не программист, сам бат-ники писать их не умею, знаю только, что с их помощью...

Переименование файлов в папках с добавлением к именам этих файлов имён этих папок
Есть 4 папки с архивом записей с камеры видеонаблюдения с именами 13 14 15 16. В каждой папке находится 60 минутных файлов в формате...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути Сочетание глобально распределённой вычислительной мощности и инновационных. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru