View previous topic :: View next topic |
Author |
Message |
Вахмурка

Joined: 27 Dec 2004 Posts: 2586 Location: Большая деревня Москва
|
(Separately) Posted: Tue Mar 23, 2010 12:14 Post subject: |
|
|
Не бойся - инсталлятор сам разберется. Я просто всегда свою директорию указываю (в той, что по умолчанию, очень много букв). А путь можно узнать из самой программы, если поиск в Тотале по директории PowerPro почему-то не хочется запускать  _________________ Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон) |
|
Back to top |
|
 |
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Tue Mar 23, 2010 12:57 Post subject: |
|
|
Tol!k wrote: | Itar-Tass
Изучи получившийся _1.cmd.txt и, если всё правильно, раскомментируй строку ren "%%~g" "%%~f%%~xg" и запусти ещё раз |
Спасибо, все получилось.
Единственный недостаток, если какая-то ошибка - например 1 новое имя на два файла,он не пропускает, а просто дальше не переименовывает.Это касается двух файлов в 1 подпапку типа cd1 и cd2.
Last edited by Itar-Tass on Tue Mar 23, 2010 16:26; edited 1 time in total |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Mar 23, 2010 13:48 Post subject: |
|
|
Itar-Tass wrote: | если каккая то ошибка - например 1 новое имя на два файла,он не пропускает, а просто дальше не переименовывает.Это касается двух файлов в 1 подпапку типа cd1 и cd2. | Попробуй заменить ren "%%~g" "%%~f%%~xg" на move "%%~g" "%%~dpg%%~f%%~xg"
Добавлено
Или имеется ввиду
Code: | За пригоршню долларов (Per un pugno di dollari)(1964);v:\_Кино\Фильмы(по жанрам)\05 Вестерны\За пригоршню долларов(Fistful of Dollars, A)\A fistful of dollars cd1(Goblin`s).avi
За пригоршню долларов (Per un pugno di dollari)(1964);v:\_Кино\Фильмы(по жанрам)\05 Вестерны\За пригоршню долларов(Fistful of Dollars, A)\A fistful of dollars cd2(Goblin`s).avi | В одной папке не может быть двух одинаковых имён. |
|
Back to top |
|
 |
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Tue Mar 23, 2010 16:25 Post subject: |
|
|
Скорее второе.
И это,увы неизбежные издержки составления csv таблицы.(программа Ant My Movies не понимает толком 1 фильм на 2 дисках)
Можно как-то сделать, чтобы он просто пропускал такое,переименовывая лишь один файл?
там где правильно было-это я вручную правил. |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Tue Mar 23, 2010 16:29 Post subject: |
|
|
Code: | @echo off &chcp 1251 >nul
setlocal enableextensions
for /f "usebackq tokens=1,2 delims=;" %%f in ("films.csv") do (
call :part "%%~g" "%%~f"
)
exit /b
:part
set "part="
for /f %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([Cc][Dd]_?[1-9]^).*/\1/p') do set "part=%%p"
if "%part%"=="" for /f %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([Dd]is[ck]_?^)([1-9]^).*/cd\2/p') do set "part=%%p"
if "%part%"=="" for /f %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([Pp]art_?^)([1-9]^).*/cd\2/p') do set "part=%%p"
if "%part%"=="" for /f "delims=" %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([1-9][0-9]?\s?серия^).*/\1/p') do set "part=%%p"
if "%~x2"==".avi" (set "name=%~n2") else set "name=%~2"
set "name=%name:"=''%"
set "name=%name:/= - %"
set "name=%name::= - %"
set "name=%name: = %"
set "name=%name:<={%"
set "name=%name:>=}%"
set "name=%name:?=%"
::эмуляция
if not "%part%"=="" (echo ren "%~1" "%name% %part%%~x1" ^|^|ren "%~1" "%name% %part%.cd2%~x1">> _2.cmd.txt)
if "%part%"=="" (echo ren "%~1" "%name%%~x1" ^|^|ren "%~1" "%name%.cd2%~x1">> _2.cmd.txt)
echo.>> _2.cmd.txt
::прожиг
rem if not "%part%"=="" (ren "%~1" "%name% %part%%~x1" ||(echo."%name% %part%%~x1" >>_конфликт.txt &ren "%~1" "%name% %part%.cd2%~x1"))
rem if "%part%"=="" (ren "%~1" "%name%%~x1" ||(echo."%name%%~x1" >>_конфликт.txt &ren "%~1" "%name%.cd2%~x1"))
goto :eof
Версия 2
Используется super-sed http://sed.sourceforge.net/grabbag/ssed/sed-3.62.zip, также должно работать и с GNU sed.
В старом имени ищется CD№ и добавляется к новому имени.
Если не удаётся переименовать в "Новое имя.ext", будет попытка переименовать в "Новое имя.cd2.ext"
|
Last edited by Tol!k on Wed Mar 24, 2010 12:01; edited 3 times in total |
|
Back to top |
|
 |
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Tue Mar 23, 2010 21:51 Post subject: |
|
|
Будешь делать,обрати,пожалуйста, внимание на вот такое,чтобы пропускало,и дальше фигачило
Оцеола: Правая рука возмездия(Osceola)(1971).
Ну или заменяло двоеточие.
Last edited by Itar-Tass on Wed Mar 24, 2010 10:05; edited 1 time in total |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Mar 24, 2010 05:04 Post subject: |
|
|
Itar-Tass wrote: | Ну или заменяло | Сделал несколько замен, но например * так заменить не получилось |
|
Back to top |
|
 |
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Wed Mar 24, 2010 10:03 Post subject: |
|
|
А что там за 2 строчки последние с rem.
Их надо раскоментировать?
Last edited by Itar-Tass on Wed Mar 24, 2010 11:35; edited 1 time in total |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Mar 24, 2010 10:11 Post subject: |
|
|
Если в _2.cmd.txt всё устраивает, то да |
|
Back to top |
|
 |
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Wed Mar 24, 2010 10:25 Post subject: |
|
|
Ошибочка мелкая.
Code: | Штрафнои удар(1963);v:\_Кино\Фильмы(по жанрам)\11 Спорт\Штрафнои удар\Штрафнои удар.avi
Азазель(2002).avi;v:\_Кино\Фильмы(по жанрам)\09 Исторические\Азазель\Азазель cd1.avi
Азазель(2002).avi;v:\_Кино\Фильмы(по жанрам)\09 Исторические\Азазель\Азазель cd2.avi |
Выдало txt и переименовало соответственно в
Code: | Азазель(2002).avi cd1.avi
Азазель(2002).avi cd2.avi |
То есть avi 2 раза в файле.
И еще если нетрудно добавь
cd_1 cd_2
disk1 disk2
disk_1 disk_2
part1 part2
Part_1 part_2
1 серия 2 серия 3 серия 4 серия
Но повторюсь если нетрудно...
P.S.и еще все это бывает с большой буквы part и Part соответственно.
Но можно по art искать.
переименовывать лучше всего в cd1 cd2 всю эту лабуду,
кроме 1 серия 2 серия
Last edited by Itar-Tass on Wed Mar 24, 2010 11:42; edited 1 time in total |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Mar 24, 2010 11:38 Post subject: |
|
|
Itar-Tass wrote: | Ошибочка | Чья?
Тот же автор wrote: | Великолепная семерка (The Magnificent Seven cd1)(1960) v:\_Кино\Фильмы(по жанрам)\05 Вестерны\Великолепная семерка\The Magnificent Seven CD1.avi
Великолепная семерка (The Magnificent Seven cd1)(1960) v:\_Кино\Фильмы(по жанрам)\05 Вестерны\Великолепная семерка\The Magnificent Seven CD2.avi |
Замени кусок
Code: | :part
set "part="
for /f %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([Cc][Dd]_?[1-9]^).*/\1/p') do set "part=%%p"
if "%part%"=="" for /f %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([Dd]is[ck]_?[1-9]^).*/\1/p') do set "part=%%p"
if "%part%"=="" for /f %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([Pp]art_?[1-9]^).*/\1/p') do set "part=%%p"
if "%part%"=="" for /f "delims=" %%p in ('echo."%~n1" ^|ssed.exe -n -r -e s/.*([1-9][0-9]?\s?серия^).*/\1/p') do set "part=%%p"
if "%~x2"==".avi" (set "name=%~n2") else set "name=%~2"
set "name=%name:"=''%"
set "name=%name:/= - %"
set "name=%name::= - %"
set "name=%name: = %"
set "name=%name:<={%"
set "name=%name:>=}%"
set "name=%name:?=%"
::эмуляция |
|
|
Back to top |
|
 |
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Wed Mar 24, 2010 11:46 Post subject: |
|
|
Моя.Все ошибки мои .Я же чайник
А можно полный текст cmd, исправленный и дополненный, с Вашим копирайтом и описанием.
Last edited by Itar-Tass on Wed Mar 24, 2010 12:35; edited 1 time in total |
|
Back to top |
|
 |
Tol!k

Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Wed Mar 24, 2010 12:04 Post subject: |
|
|
Itar-Tass wrote: | переименовывать лучше всего в cd1 cd2 всю эту лабуду |
Itar-Tass wrote: | А можно полный текст cmd, исправленный и дополненный |
Здесь
Itar-Tass wrote: | с Вашим копирайтом и описанием | Слишком узкоспециальная (нужна особым образом подготовленная база данных) вещь получилась, вряд ли будет востребована народными массами. Кому понадобится — пусть читают тему |
|
Back to top |
|
 |
Itar-Tass
Joined: 18 Jan 2009 Posts: 48
|
(Separately) Posted: Wed Mar 24, 2010 12:40 Post subject: |
|
|
Tol!k wrote: | нужна особым образом подготовленная база данных |
Да в общем то нет,ЛЮБОЙ,подчеркиваю любой каталогизатор видео,музыки или книг имеет экспорт в csv или xls.И там эти 2 поля по любому есть.(На самом деле 3 или 4 я соединял[можно добавить еще режиссера или разрешение фильма] год и 2 названия)
А проблема имен есть и стоит достаточно остро,потому что в названиях файлов что только не пишут.
не говоря уже о том что 70% процентов таких файлов(а обычно именно ими забит хард стандартного юзера) проименованы латиницей, хотя на никсах меньше 10% юзеров(да и они вроде современные 1251 понимают)
Quote: |
Не стоит прогибаться под изменчивый мир,
Пусть лучше он прогнется под нас© |
Вообще можно прогу написать и продавать за небольшие деньги, потому что в тех что есть это лишь дополнительная опция и новичок не разберется.
Типа переименование из excel таблицы.Поля выбирает пользователь. |
|
Back to top |
|
 |
Carlo
Joined: 21 Jul 2010 Posts: 2
|
(Separately) Posted: Wed Jul 21, 2010 20:20 Post subject: переименование |
|
|
Доброго времени суток.
Не подскажите, возможно ли реализовать следующее:
есть много файлов (документы), которые необходимо переименовать на содержимое первых строк в этих файлах (документах)
Спасибо. |
|
Back to top |
|
 |
|