Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Групповое переименование
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 49, 50, 51  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander printer-friendly view
View previous topic :: View next topic  
Author Message
Вахмурка



Joined: 27 Dec 2004
Posts: 2586
Location: Большая деревня Москва

Post (Separately) Posted: Tue Mar 23, 2010 12:14    Post subject: Reply with quote

Quote:
А куда ставить
Не бойся - инсталлятор сам разберется. Я просто всегда свою директорию указываю (в той, что по умолчанию, очень много букв). А путь можно узнать из самой программы, если поиск в Тотале по директории PowerPro почему-то не хочется запускать Smile
_________________
Сайт PowerPro+Total Commander
Скрипты PowerPro для Total Commander
* * *
«Не усматривайте злого умысла в том, что вполне объяснимо глупостью» (Р. Хэнлон)
Back to top
View user's profile Send private message
Itar-Tass



Joined: 18 Jan 2009
Posts: 48

Post (Separately) Posted: Tue Mar 23, 2010 12:57    Post subject: Reply with quote

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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Mar 23, 2010 13:48    Post subject: Reply with quote

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
View user's profile Send private message
Itar-Tass



Joined: 18 Jan 2009
Posts: 48

Post (Separately) Posted: Tue Mar 23, 2010 16:25    Post subject: Reply with quote

Скорее второе.
И это,увы неизбежные издержки составления csv таблицы.(программа Ant My Movies не понимает толком 1 фильм на 2 дисках)
Можно как-то сделать, чтобы он просто пропускал такое,переименовывая лишь один файл?
там где правильно было-это я вручную правил.
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Tue Mar 23, 2010 16:29    Post subject: Reply with quote

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
View user's profile Send private message
Itar-Tass



Joined: 18 Jan 2009
Posts: 48

Post (Separately) Posted: Tue Mar 23, 2010 21:51    Post subject: Reply with quote

Будешь делать,обрати,пожалуйста, внимание на вот такое,чтобы пропускало,и дальше фигачило
Оцеола: Правая рука возмездия(Osceola)(1971).
Ну или заменяло двоеточие.


Last edited by Itar-Tass on Wed Mar 24, 2010 10:05; edited 1 time in total
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Mar 24, 2010 05:04    Post subject: Reply with quote

Itar-Tass wrote:
Ну или заменяло
Сделал несколько замен, но например * так заменить не получилось
Back to top
View user's profile Send private message
Itar-Tass



Joined: 18 Jan 2009
Posts: 48

Post (Separately) Posted: Wed Mar 24, 2010 10:03    Post subject: Reply with quote

А что там за 2 строчки последние с rem.
Их надо раскоментировать?


Last edited by Itar-Tass on Wed Mar 24, 2010 11:35; edited 1 time in total
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Mar 24, 2010 10:11    Post subject: Reply with quote

Если в _2.cmd.txt всё устраивает, то да
Back to top
View user's profile Send private message
Itar-Tass



Joined: 18 Jan 2009
Posts: 48

Post (Separately) Posted: Wed Mar 24, 2010 10:25    Post subject: Reply with quote

Ошибочка мелкая.

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
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Mar 24, 2010 11:38    Post subject: Reply with quote

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
View user's profile Send private message
Itar-Tass



Joined: 18 Jan 2009
Posts: 48

Post (Separately) Posted: Wed Mar 24, 2010 11:46    Post subject: Reply with quote

Моя.Все ошибки мои .Я же чайник
А можно полный текст cmd, исправленный и дополненный, с Вашим копирайтом и описанием.


Last edited by Itar-Tass on Wed Mar 24, 2010 12:35; edited 1 time in total
Back to top
View user's profile Send private message
Tol!k



Joined: 01 Apr 2008
Posts: 1727
Location: Арзамас

Post (Separately) Posted: Wed Mar 24, 2010 12:04    Post subject: Reply with quote

Itar-Tass wrote:
переименовывать лучше всего в cd1 cd2 всю эту лабуду
Itar-Tass wrote:
А можно полный текст cmd, исправленный и дополненный

Здесь

Itar-Tass wrote:
с Вашим копирайтом и описанием
Слишком узкоспециальная (нужна особым образом подготовленная база данных) вещь получилась, вряд ли будет востребована народными массами. Кому понадобится — пусть читают тему
Back to top
View user's profile Send private message
Itar-Tass



Joined: 18 Jan 2009
Posts: 48

Post (Separately) Posted: Wed Mar 24, 2010 12:40    Post subject: Reply with quote

Tol!k wrote:
нужна особым образом подготовленная база данных


Да в общем то нет,ЛЮБОЙ,подчеркиваю любой каталогизатор видео,музыки или книг имеет экспорт в csv или xls.И там эти 2 поля по любому есть.(На самом деле 3 или 4 я соединял[можно добавить еще режиссера или разрешение фильма] год и 2 названия)
А проблема имен есть и стоит достаточно остро,потому что в названиях файлов что только не пишут.
не говоря уже о том что 70% процентов таких файлов(а обычно именно ими забит хард стандартного юзера) проименованы латиницей, хотя на никсах меньше 10% юзеров(да и они вроде современные 1251 понимают)

Quote:

Не стоит прогибаться под изменчивый мир,
Пусть лучше он прогнется под нас©


Вообще можно прогу написать и продавать за небольшие деньги, потому что в тех что есть это лишь дополнительная опция и новичок не разберется.
Типа переименование из excel таблицы.Поля выбирает пользователь.
Back to top
View user's profile Send private message
Carlo



Joined: 21 Jul 2010
Posts: 2

Post (Separately) Posted: Wed Jul 21, 2010 20:20    Post subject: переименование Reply with quote

Доброго времени суток.
Не подскажите, возможно ли реализовать следующее:
есть много файлов (документы), которые необходимо переименовать на содержимое первых строк в этих файлах (документах) Question
Спасибо.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Автоматизация Total Commander All times are GMT + 4 Hours
Goto page Previous  1, 2, 3 ... 5, 6, 7 ... 49, 50, 51  Next
Page 6 of 51

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group