Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/25: Рейтинг темы: голосов - 25, средняя оценка - 4.92
0 / 0 / 0
Регистрация: 31.07.2013
Сообщений: 21

Как реализовать пакетное переименование папок исходя из списка в rules.txt?

15.10.2017, 11:04. Показов 4968. Ответов 11
Метки bat (Все метки)

Студворк — интернет-сервис помощи студентам
Есть каталог, в этом каталоге есть подкаталоги с именами типа: ЛС213302580910
Имена подкаталогов всегда стандартной длинны и всегла начинаются на "ЛС"

И есть текстовый файл rules.txt с содержимым:

ЛС213312580910="Вася"
ЛС213302580911="Петя"
ЛС213302580912="Вова"

И так далее...

Нужент bat скрипт который осуществит переименование этих подкаталогов исходя из этого текстового файла.

В сети нашел такое решение: http://it.dnepro.org/2013/120.html
Но там программа генерирует статичный скрипт, а мой rules.txt будет время от времени изменяться.

P.S. Форум/Форумчане! Спасибо, за помощь в рещении предыдущей задачи
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.10.2017, 11:04
Ответы с готовыми решениями:

Пакетное создание папок из списка
Доброго дня, друзья! Могли бы вы помочь с написанием BAT, который создаст папки, беря их названия из .txt Названия будут английскими,...

Пакетное переименование файлов
Уважаемые форумчане, подскажите пожалуйста решение. Имеется множество файлов следующего вида: jsdsjlk_a.txt mfmsgslsfs_a.txt ...

Пакетное переименование файлов
Возникла необходимость папку с большим кол-вом файлом переименовать 1,2,3,4,5..... Например фильмы или музыку или фото что бы шло по...

11
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
15.10.2017, 12:14
ЕСли честно тут делов на пять минут.ВОт если бы я знал как заставить из файла русские буквы отображаться)
0
0 / 0 / 0
Регистрация: 31.07.2013
Сообщений: 21
15.10.2017, 13:36  [ТС]
Цитата Сообщение от ZoOoO Посмотреть сообщение
ЕСли честно тут делов на пять минут.ВОт если бы я знал как заставить из файла русские буквы отображаться)
Если это упростит задачу то rules.txt можно видоизменять, чтоб Bat-у было понятнее.
Так как составлять эти rules.txt будет человек, лижбы было видимое соответствие между ЛС213312580910 и "Вася"
чтоб можно было его легко заполнить.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
15.10.2017, 15:44
Лучший ответ Сообщение было отмечено ERET1K как решение

Решение



Windows Batch file
1
2
3
4
5
@echo off
set "d=papka"
set "f=rules.txt"
for /f "delims=" %%a in ('dir /ad/b "%d%"') do for /f "tokens=1* delims==" %%i in ('findstr /blc:"%%a" "%f%"') do ren "%d%\%%a" "%%~j"
pause
кодировка везде 866
0
 Аватар для ZoOoO
226 / 211 / 70
Регистрация: 09.02.2016
Сообщений: 1,040
15.10.2017, 16:07
Цитата Сообщение от alpap Посмотреть сообщение
кодировка везде 866
На сколько я понял у Вас файл результ не в блокноте создавался?
0
15.10.2017, 16:42

Не по теме:

Цитата Сообщение от ZoOoO Посмотреть сообщение
не в блокноте
угу - AkelPad, видно же на скрине

0
 Аватар для volodin661
6692 / 2283 / 348
Регистрация: 10.12.2013
Сообщений: 7,894
15.10.2017, 17:12
Цитата Сообщение от ERET1K Посмотреть сообщение
Если это упростит задачу то rules.txt можно видоизменять, чтоб Bat-у было понятнее.
Так как составлять эти rules.txt будет человек, лишь бы было видимое соответствие между ЛС213312580910 и "Вася"
Windows Batch file
1
2
3
4
5
6
@chcp 1251
 
@rename     ЛС213312580910     Вася
@rename     ЛС213302580911     Петя
@rename     ЛС213302580912     Вова
@rename     ЛС312345678998     "Порфирий Петрович"
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
15.10.2017, 20:53
ERET1K,
а почему вы не хотите сразу ваши две задачи выполнять одним махом:


Windows Batch file
1
2
3
4
5
6
7
8
9
10
@echo off
set "d=papka"
set "f=rules.txt"
for /f "tokens=1,2* delims=_" %%a in ('dir /a-d/b "%d%\*.xml" "%d%\*.pdf"') do (
 for /f "tokens=1* delims==" %%i in ('findstr /blc:"%%b" "%f%"') do (
  if not exist "%%~j" md "%%~j"
  >nul move "%d%\%%a_%%b_%%c" "%%~j"
 )
)
pause
1
0 / 0 / 0
Регистрация: 31.07.2013
Сообщений: 21
16.10.2017, 10:48  [ТС]
alpap

Забыл упомянуть одну ситуацию, строка типа
ЛС233301859021="Вася"
ЛС233301879021="Вася"

Тоесть, конечное имя может повторятся и в таком случае папки нужно объдинить.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
16.10.2017, 12:24
а вы попробуйте, они и объединятся при таких строках

Добавлено через 2 минуты
а вообще странное соответствие, где же уникальность или если сами составляете ini почему не сделать всю систему логичной и разумной.
0
0 / 0 / 0
Регистрация: 31.07.2013
Сообщений: 21
16.10.2017, 21:56  [ТС]
alpap спасибо, за советы.
Итоговый bat готов, благодаря Вашим примерам
Windows Batch file
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@chcp 866
@echo off
set "d=papka"
pushd "%d%"
for /f "tokens=1,2* delims=_" %%a in ('dir /a-d/b "*.xml" "*.pdf"') do (
 if not exist "%%b" md "%%b"
 >nul move "%%a_%%b_%%c" "%%b"
)
popd
pause
:: Next script start
set "d=papka"
set "f=rules.txt"
for /f "delims=" %%a in ('dir /ad/b "%d%"') do for /f "tokens=1* delims==" %%i in ('findstr /blc:"%%a" "%f%"') do (
 if exist "%d%\%%a" ( 
 if exist "%d%\%%~j" (
 move "%d%\%%a\*.*" "%d%\%%~j\"
 rmdir "%d%\%%a"
) else ren "%d%\%%a" "%%~j"
)
)
 pause
Это конечно не так виртуозно, но работает!
0
17.10.2017, 01:26

Не по теме:

н-даа, ну ничего, научитесь, было бы желание.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.10.2017, 01:26
Помогаю со студенческими работами здесь

Пакетное переименование файлов
Добрый день, можно с помощью с++ написать прогу которая будет переименовывать файлы указанные в папке формата Чистота_Имя-Фамилия_время.mp3...

Нестандартное пакетное переименование
Добрый вечер. Есть каталог с несколькими десятками папок. В каждой из этой папок находится от 1 до 10 ( или больше) файлов. Нужно...

Пакетное переименование файлов
Задание: Создать папку в ней 10 файлов. Программа от пользователя получает маску, все файлы которые подходят под маску переименовать. ...

Пакетное переименование файлов
Есть файлы ___ нужно скрипт групового переименования файлов где меняеться местами только формат даты на год месяц день на вот это ...

Пакетное переименование файлов в каталоге
В папке есть некое количество файлов с расширением .jpg Надо с помощью батника переименовать эти файлы в вид 1.jpg, 2.jpg, 3.jpg и т.д.


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru