![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Переименование файлов |
|
|
CMD/BAT - [решено] Переименование файлов
|
Новый участник Сообщения: 17 |
Добрый день! Помогите, пожалуйста, реализовать следующее:
Есть некий каталог с файлами. Нужно их переименовать согласно списку, который содержится в текстовом файле: строка 1 - текущее имя файла 1 строка 2 - новое имя файла 1 строка 3 - текущее имя файла 2 строка 4 - новое имя файла 2 и т.д. Затык в чтении второго параметра (во что переименовывать) для команды ren. |
|
Отправлено: 12:09, 27-02-2020 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать shraybikus, пример файла приведите, есть ли там пути, расширения и т. д.
|
------- Отправлено: 14:39, 27-02-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Пример файла:
14117 Приложение № 1.pdf 08278 Приложение № 2.xlsx 32545 Приложение № 3.docx 29721 Приложение № 4.docx 32730 Приложение № 5.docx 00142 Приложение № 6.docx Каталог, имена в котором надо "восстановить": 00142 08278 14117 22 29721 32545 32730 |
Последний раз редактировалось shraybikus, 27-02-2020 в 14:54. Отправлено: 14:48, 27-02-2020 | #3 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать for /f "tokens=1-2" %%A in (не_помню_как_файл_указывать_в_качестве_источника,_вроде_просто_без_кавычек?) do ( echo ren %%A %%B ) а не удобнее имя против имени писать? ну этж убицца можно такой файл читать. кмк если строка имеет вид "старое имя" "новое имя" - гораздо удобнее. |
Отправлено: 14:48, 27-02-2020 | #4 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать |
|
------- Отправлено: 14:59, 27-02-2020 | #5 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата Elven:
14117 Приложение № 08278 Приложение № 32545 Приложение № 29721 Приложение № 32730 Приложение № 00142 Приложение № Для продолжения нажмите любую клавишу . . . Не взлетело. ![]() Можно и в одну строку, но в именах файла есть пробелы, как быть с ними? |
|
Последний раз редактировалось shraybikus, 27-02-2020 в 15:40. Отправлено: 14:59, 27-02-2020 | #6 |
Crazy Сообщения: 1235
|
Профиль | Отправить PM | Цитировать Цитата DJ Mogarych:
|
|
------- Отправлено: 15:31, 27-02-2020 | #7 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Если бы мне нужно было решение на ps, то я бы и поместил свой вопрос в соответствующий раздел.
Нужно именно CMD/BAT. Такая конструкция тоже не работает: @echo off setlocal enableextensions enabledelayedexpansion set sSourceFolder=1 for /f "tokens=1-2 delims=" %%a in (list) do ( echo %%a "b=" %%b ) pause exit /b Приложение № 1.pdf "b=" 08278 "b=" Приложение № 2.xlsx "b=" 32545 "b=" Приложение № 3.docx "b=" 29721 "b=" Приложение № 4.docx "b=" 32730 "b=" Приложение № 5.docx "b=" 00142 "b=" Приложение № 6.docx "b=" Для продолжения нажмите любую клавишу . . . Цикл выполняется дважды, и в переменную b похоже ничего не передается. |
Отправлено: 15:38, 27-02-2020 | #8 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать это потому что для cmd пробел это тоже разделитель. можно попробовать вот так если названия каждое в своей строке:
for /f "tokens=1-2 delims=" %%A in (всё_ещё_не_помню_как_файл_указывать_в_качестве_источника,_вроде_просто_без_кавычек?) do ( echo ren %%A %%B ) for /f "tokens=1-2 delims=_" %%A in (всё_ещё_не_помню_как_файл_указывать_в_качестве_источника,_вроде_просто_без_кавычек?) do ( echo ren %%A %%B ) вариант файла с именами файлов:
Цитата shraybikus:
![]() |
|
Последний раз редактировалось Elven, 27-02-2020 в 15:49. Отправлено: 15:43, 27-02-2020 | #9 |
Новый участник Сообщения: 17
|
Профиль | Отправить PM | Цитировать Цитата Elven:
@echo off setlocal enableextensions enabledelayedexpansion set sSourceFolder=1 for /f "tokens=1-2 delims=" %%A in (list) do ( echo "A=" %%A "B=" %%B ) pause exit /b "A=" 14117 "B=" "A=" Приложение № 1.pdf "B=" "A=" 08278 "B=" "A=" Приложение № 2.xlsx "B=" "A=" 32545 "B=" "A=" Приложение № 3.docx "B=" "A=" 29721 "B=" "A=" Приложение № 4.docx "B=" "A=" 32730 "B=" "A=" Приложение № 5.docx "B=" "A=" 00142 "B=" "A=" Приложение № 6.docx "B=" Для продолжения нажмите любую клавишу . . . Цитата Elven:
ren 14117 ren Приложение № 1.pdf ren 08278 ren Приложение № 2.xlsx ren 32545 ren Приложение № 3.docx ren 29721 ren Приложение № 4.docx ren 32730 ren Приложение № 5.docx ren 00142 ren Приложение № 6.docx Для продолжения нажмите любую клавишу . . . |
||
Отправлено: 15:50, 27-02-2020 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Переименование файлов | f1rstonlyone@vk | Скриптовые языки администрирования Windows | 6 | 20-12-2017 16:20 | |
CMD/BAT - переименование файлов | Alexander_88 | Скриптовые языки администрирования Windows | 10 | 25-07-2017 21:30 | |
CMD/BAT - Переименование файлов | gremlintv2 | Скриптовые языки администрирования Windows | 3 | 27-06-2016 23:42 | |
CMD/BAT - Переименование файлов | Verilog | Скриптовые языки администрирования Windows | 4 | 10-12-2014 14:55 | |
Переименование файлов | B1010 | Видео и аудио: обработка и кодирование | 0 | 28-09-2014 11:38 |
|