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

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

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

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


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

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


Здравствуйте.

Есть группа файлов с суффиксом. 02342-b.jpg, 03415-b.jpg, 05726-b.jpg и т.д.
Как переименовать (удалить суффикс) их одной коммандой (строкой) чтобы получить 02342.jpg, 03415.jpg, 05726.jpg ?

Ну типа:

FOR %%A in (*-b.jpg) do ren "%%A" "%%~nA:~-3%.jpg"

Отправлено: 21:33, 27-06-2011

 

Googler


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

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


Код: Выделить весь код
for /f "delims=-" %%a in ('dir/b/a-d *-b.jpg') do ren "%%a-b.jpg" "%%a.jpg"
Код: Выделить весь код
for %%a in (*-b.jpg) do set "$a=%%~na"& call ren "%%a" "%%$a:~-2%%.jpg"
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:18, 28-06-2011 | #2



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

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


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


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

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


Спасибо. Работают оба варианта.
А почему обязательно надо ещё одну переменную вводить? (set "$a=%%~na")
Напрямую в функции REN нельзя корректировать имя?

Объясните, пожалуйста,
Код: Выделить весь код
for /f "delims=-" %%a in ('dir/b/a-d *-b.jpg') do ren "%%a-b.jpg" "%%a.jpg"
а конкретно: for /f "delims=-" и ('dir/b/a-d *-b.jpg')

Последний раз редактировалось ashdinalt, 28-06-2011 в 12:07.


Отправлено: 11:52, 28-06-2011 | #3


Googler


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

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


ashdinalt, параметры цикла типа %%a никак не связаны с переменными окружения... К примеру, имена переменных нечувствительны к регистру, в то время как %%a и %%A обозначают разные параметры.

Цитата ashdinalt:
('dir/b/a-d *-b.jpg')»
вывести список файлов по маске "*-b.jpg" (см. "HELP DIR"):
Код: Выделить весь код
dir /b /a-d *-b.jpg
Цитата ashdinalt:
for /f "delims=-"»
разбор результата команды (DIR) с разбивкой на токены по символу "-", по умолчанию берётся только 1-й токен (см. "HELP FOR")
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:09, 28-06-2011 | #4


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


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

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


Ок. Спасибо!

Отправлено: 12:19, 28-06-2011 | #5


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


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

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


Смотрите я сделал сам. Удивлен своим супер способностям.
переименование файлов содержащих 1 пробел в файл, в котором вместо пробела стоит дефис.

Код: Выделить весь код
for /f "tokens=1,2 usebackq" %i in (`dir/b/a-d "* *.txt"`) do ren "%i %j" "%i-%j"
вводится прямо в командную строку

Последний раз редактировалось sgtraf, 13-07-2011 в 09:12.


Отправлено: 09:06, 13-07-2011 | #6


Googler


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

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


Цитата sgtraf:
Смотрите я сделал сам. »
респект!.. только нужно немного подправить,
иначе имена файлов с более чем 1 пробелом будут обрезаться (до 2-го пробела)

в таком варианте будет производиться замена только 1-го пробела на дефис:
Код: Выделить весь код
for /f "tokens=1*" %i in ('dir/b/a-d "* *"') do ren "%i %j" "%i-%j"
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:27, 13-07-2011 | #7


Аватара для Viajero

Пользователь


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

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


Добрый вечер,

ситуация следующая: на жестком имеется пара сотен папок, в которых лежит много сотен файлов (по больше части .avi, .mkv, .mp4), к названию каждого файла приделан определенный лейбл, пример: Файл1 (workgroup1).avi Есть ли способ убрать этот лейбл (в скобках) сразу из названий ВСЕХ файлов?

Отправлено: 21:35, 16-09-2011 | #8


Аватара для ShaddyR

Железных Дел Мастер


Moderator


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

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


Viajero, а что мешает? Функция Файл\Групповое переименование в TotalCommander. Предварительно делаешь поиск всех файлов по заданному шаблону, затем - "файлы на панель", после чего и воспользуйся оным функционалом. Все легко, интуитивно и достаточно визуализировано.

ЗЫ: вроде про скриптовое решение человек не спрашивал, зачем сюда перенесли-то?

-------
[FAQ] Как определить аппаратную конфигурацию компьютера и правильно задать вопрос
-------
В благодарность за помощь нажимаем ссылочку "Полезное сообщение" внизу этого самого сообщения (подробнее). Помните: админ конфеты НЕ ПЬЁТ ;)
-------
Говори, что думаешь и думай, что говоришь! (c) || МОЙ ShaddyR.at.UA/blog - Как поменять термопасту за 100+ баксов

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

Отправлено: 22:02, 16-09-2011 | #9


Ветеран


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

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


Цитата ShaddyR:
ЗЫ: вроде про скриптовое решение человек не спрашивал, зачем сюда перенесли-то? »
Так бывает. Может у человека ни TC, ни Far Manager'а нету. Посчитали, что для этого нужен скрипт. Хотя, на мой взгляд, не стоит мудрить скрипты для однократно выполняемых задач.
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:10, 16-09-2011 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] Переименование файлов adm1nzoda Скриптовые языки администрирования Windows 3 28-12-2010 13:26
CMD/BAT - Переименование файлов. gen0m.rsw Скриптовые языки администрирования Windows 1 15-10-2010 19:15
Разное - [решено] Переименование файлов mitrik Microsoft Windows 2000/XP 3 22-08-2008 04:53
переименование файлов mask Программирование и базы данных 6 20-05-2003 00:53
Переименование файлов Pavelz Microsoft Windows NT/2000/2003 7 24-01-2003 10:32




 
Переход