переименовать кучу файлов
От: std_out  
Дата: 17.08.09 03:47
Оценка:
Hi all,
подскажите пожалуйста как сделать:
— имеется немалое множество mp3-файлов, имена которых построены след. образом
xx-исполнитель-название песни.mp3.
Исполнитель, как вы уже наверняка догадались, один и тот же, а посему я хочу удалить его.
Windows XP.
Как такое осуществить, а ?
Posted via RSDN NNTP Server 2.1 beta
Re: переименовать кучу файлов
От: Сергей Мухин Россия  
Дата: 17.08.09 04:28
Оценка: -3
Здравствуйте, std_out, Вы писали:

_>Hi all,

_>подскажите пожалуйста как сделать:
_>- имеется немалое множество mp3-файлов, имена которых построены след. образом
_>xx-исполнитель-название песни.mp3.
_>Исполнитель, как вы уже наверняка догадались, один и тот же, а посему я хочу удалить его.
_>Windows XP.
_>Как такое осуществить, а ?

del *-исполнитель-*.mp3
---
С уважением,
Сергей Мухин
Re[2]: переименовать кучу файлов
От: std_out  
Дата: 17.08.09 06:06
Оценка: +1 -1
> _>- имеется немалое множество mp3-файлов, имена которых построены след. образом
> _>xx-исполнитель-название песни.mp3.
> _>Исполнитель, как вы уже наверняка догадались, один и тот же, а посему я хочу удалить его.
> _>Windows XP.
> _>Как такое осуществить, а ?
>
> del *-исполнитель-*.mp3
хм ...
За такие советы надо не то, что минусы ставить ...
Posted via RSDN NNTP Server 2.1 beta
Re[3]: переименовать кучу файлов
От: Сергей Мухин Россия  
Дата: 17.08.09 07:22
Оценка: -1
Здравствуйте, std_out, Вы писали:

>> _>- имеется немалое множество mp3-файлов, имена которых построены след. образом

>> _>xx-исполнитель-название песни.mp3.
>> _>Исполнитель, как вы уже наверняка догадались, один и тот же, а посему я хочу удалить его.
>> _>Windows XP.
>> _>Как такое осуществить, а ?
>>
>> del *-исполнитель-*.mp3
_>хм ...
_>За такие советы надо не то, что минусы ставить ...

Вы бы пояснили, с чем не согласны. Хотели удалить файлы? Это строка делает что-то не то? Или задача поставлена не так?
---
С уважением,
Сергей Мухин
Re[4]: переименовать кучу файлов
От: std_out  
Дата: 17.08.09 08:58
Оценка: +1
> Вы бы пояснили, с чем не согласны. Хотели удалить файлы? Это строка делает что-то не то?
>Или задача поставлена не так?
Читайте subj топика.
На всякий случай поясняю — имеется ввиду удалить исполнителя из имен файлов и оставить xx_название.mp3
Posted via RSDN NNTP Server 2.1 beta
Re[5]: переименовать кучу файлов
От: Сергей Мухин Россия  
Дата: 17.08.09 09:06
Оценка: +1
Здравствуйте, std_out, Вы писали:

>> Вы бы пояснили, с чем не согласны. Хотели удалить файлы? Это строка делает что-то не то?

>>Или задача поставлена не так?
_>Читайте subj топика.
_>На всякий случай поясняю — имеется ввиду удалить исполнителя из имен файлов и оставить xx_название.mp3

Вы наверно хотели написать "удалить имя исполнителя"?

Лучше всего использовать спец тул для этого. Отлично подходит Total Comander например. Есть куча тулов именно для mp3

Можно и батник написать, но это уже не одна строчка.
---
С уважением,
Сергей Мухин
Re[6]: переименовать кучу файлов
От: std_out  
Дата: 17.08.09 10:57
Оценка:
> Лучше всего использовать спец тул для этого. Отлично подходит Total Comander например. Есть
>куча тулов именно для mp3
С тотальным коммандером не справился, ибо регулярными выражениями не владею, а что за спецтулы такие ?
Как их найти-то ?
Posted via RSDN NNTP Server 2.1 beta
Re: Как-то так
От: akasoft Россия  
Дата: 17.08.09 11:00
Оценка:
Здравствуйте, std_out, Вы писали:

_>Как такое осуществить, а ?


Как-то так. Предпологая, что подстрока "исполнитель" фиксированной длинны.

runme.bat
@echo off
for %%i in (*.mp3) do call :DoRename %%i
goto :eof

:DoRename

echo %1
set d=%1
set d=%d:~0,3%%d:~7%
echo %d%
rem ren %1 %d%
goto :eof


Поместить runme.bat в папку с файлами. For перебирает по заданной маске файлы, вызывая для каждого подпрограмму ниже. Ключ в строчке "set d=%d:~0,3%%d:~7%", здесь "%d:~0,3%" позволяет получить три символа с позиции 0 (т.е. первые три символа имени файла), а "%d:~7%" -- остаток с позиции 7 до конца. Осталось только выбрать правильные позиции и размеры, чтобы вырезать твоего исполнителя.

Строчка переименования закомментирована, чтобы вначале убедиться, что всё будет верно с именами, и ничего не перепутано.
... << RSDN@Home 1.2.0 alpha 4 rev. 1238>> SQL Express 2005
Re[7]: переименовать кучу файлов
От: Сергей Мухин Россия  
Дата: 17.08.09 11:04
Оценка: 3 (1)
Здравствуйте, std_out, Вы писали:

>> Лучше всего использовать спец тул для этого. Отлично подходит Total Comander например. Есть

>>куча тулов именно для mp3
_>С тотальным коммандером не справился, ибо регулярными выражениями не владею, а что за спецтулы такие ?

там не обяз рег выражения Например так задаешь:
[N1-2;20-]
что означает (если не ошибаюсь, первые два символа и начиная с 20го


_>Как их найти-то ?


ты не поверишь! ищи mp3 rename например в google
---
С уважением,
Сергей Мухин
Re[2]: Как-то так
От: Сергей Мухин Россия  
Дата: 17.08.09 11:08
Оценка:
Здравствуйте, akasoft, Вы писали:

A>Здравствуйте, std_out, Вы писали:


_>>Как такое осуществить, а ?


A>Как-то так. Предпологая, что подстрока "исполнитель" фиксированной длинны.


отлично, маленькое замечание.
Здесь есть еще два предположения:
1. Все файлы в оглавлении надо переименовать, а не только -исполнитель-
2. от начала имени, до -исполнителя- тоже должна быть фиксированная длина.
---
С уважением,
Сергей Мухин
Re[2]: Как-то так
От: std_out  
Дата: 17.08.09 12:49
Оценка:
> Поместить runme.bat в папку с файлами. For перебирает по заданной маске файлы, вызывая для
>каждого подпрограмму ниже. Ключ в строчке "set d=%d:~0,3%%d:~7%", здесь "%d:~0,3%"
>позволяет получить три символа с позиции 0 (т.е. первые три символа имени файла), а "%
>d:~7%" -- остаток с позиции 7 до конца. Осталось только выбрать правильные позиции и
>размеры, чтобы вырезать твоего исполнителя.
В результате исполнения вышеприведенного сценария получил столбец чисел, соответствующих первым двум символам в имени файлов:
01
02
...
xx

Дальше в имени пробел, на котором скрипт, видимо, и спотыкается.
Posted via RSDN NNTP Server 2.1 beta
Re[3]: Как-то так
От: akasoft Россия  
Дата: 17.08.09 13:02
Оценка:
Здравствуйте, std_out, Вы писали:

_>Дальше в имени пробел, на котором скрипт, видимо, и спотыкается.


Может быть. Тогда возьми имя файла двойные кавычки.

for %%i in (*.mp3) do call :DoRename "%%i"
... << RSDN@Home 1.2.0 alpha 4 rev. 1238>> SQL Express 2005
Re[4]: Как-то так
От: std_out  
Дата: 17.08.09 13:26
Оценка:
>
> for %%i in (*.mp3) do call :DoRename "%%i"
>

А что делать с последней кавычкой, остающейся после set d=%d:~1,5%%d:~26% ?
01 — тыры-пыры-тыры-пыры.mp3"
02 — трали-вали-трали-вали.mp3"
...
xx — ули-гули-ули-гули.mp3"
Posted via RSDN NNTP Server 2.1 beta
Re[5]: Как-то так
От: akasoft Россия  
Дата: 17.08.09 13:49
Оценка:
Здравствуйте, std_out, Вы писали:

_>А что делать с последней кавычкой, остающейся после set d=%d:~1,5%%d:~26% ?


Кавычки тебе нужны. В Windows имена с пробелами д.б. забраны в двойные кавычки. Так что, начинай вырезать с нулевой поз., а не с первой. Для ren как раз передашь оба имени в кавычках.
... << RSDN@Home 1.2.0 alpha 4 rev. 1238>> SQL Express 2005
Re[6]: Как-то так
От: std_out  
Дата: 17.08.09 14:01
Оценка:
> Кавычки тебе нужны. В Windows имена с пробелами д.б. забраны в двойные кавычки. Так что,
>начинай вырезать с нулевой поз., а не с первой. Для ren как раз передашь оба имени в кавычках.
Вот теперь работает
Posted via RSDN NNTP Server 2.1 beta
Re: переименовать кучу файлов
От: Andrey Korwin Россия  
Дата: 17.08.09 15:20
Оценка: 3 (1)
Здравствуйте, std_out, Вы писали:
_>Как такое осуществить, а ?

ReNamer
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.