Страница 6 из 52
Добавлено: Вт мар 23, 2010 11:14
Вахмурка
А куда ставить
Не бойся - инсталлятор сам разберется. Я просто всегда свою директорию указываю (в той, что по умолчанию, очень много букв). А путь можно узнать из самой программы, если поиск в Тотале по директории PowerPro почему-то не хочется запускать

Добавлено: Вт мар 23, 2010 11:57
Itar-Tass
Tol!k писал(а):Itar-Tass
Изучи получившийся _1.cmd.txt и, если всё правильно, раскомментируй строку ren "%%~g" "%%~f%%~xg" и запусти ещё раз
Спасибо, все получилось.
Единственный недостаток, если какая-то ошибка - например 1 новое имя на два файла,он не пропускает, а просто дальше не переименовывает.Это касается двух файлов в 1 подпапку типа cd1 и cd2.
Добавлено: Вт мар 23, 2010 12:48
Tol!k
Itar-Tass писал(а):если каккая то ошибка - например 1 новое имя на два файла,он не пропускает, а просто дальше не переименовывает.Это касается двух файлов в 1 подпапку типа cd1 и cd2.
Попробуй заменить
ren "%%~g" "%%~f%%~xg" на
move "%%~g" "%%~dpg%%~f%%~xg"
Добавлено
Или имеется ввиду
Код: Выделить всё
За пригоршню долларов (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
В одной папке не может быть двух одинаковых имён.
Добавлено: Вт мар 23, 2010 15:25
Itar-Tass
Скорее второе.
И это,увы неизбежные издержки составления csv таблицы.(программа Ant My Movies не понимает толком 1 фильм на 2 дисках)
Можно как-то сделать, чтобы он просто пропускал такое,переименовывая лишь один файл?
там где правильно было-это я вручную правил.
Добавлено: Вт мар 23, 2010 15:29
Tol!k
Код: Выделить всё
@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"
Добавлено: Вт мар 23, 2010 20:51
Itar-Tass
Будешь делать,обрати,пожалуйста, внимание на вот такое,чтобы пропускало,и дальше фигачило
Оцеола: Правая рука возмездия(Osceola)(1971).
Ну или заменяло двоеточие.
Добавлено: Ср мар 24, 2010 04:04
Tol!k
Itar-Tass писал(а):Ну или заменяло
Сделал несколько замен, но например * так заменить не получилось
Добавлено: Ср мар 24, 2010 09:03
Itar-Tass
А что там за 2 строчки последние с rem.
Их надо раскоментировать?
Добавлено: Ср мар 24, 2010 09:11
Tol!k
Если в _2.cmd.txt всё устраивает, то да
Добавлено: Ср мар 24, 2010 09:25
Itar-Tass
Ошибочка мелкая.
Код: Выделить всё
Штрафнои удар(1963);v:\_Кино\Фильмы(по жанрам)\11 Спорт\Штрафнои удар\Штрафнои удар.avi
Азазель(2002).avi;v:\_Кино\Фильмы(по жанрам)\09 Исторические\Азазель\Азазель cd1.avi
Азазель(2002).avi;v:\_Кино\Фильмы(по жанрам)\09 Исторические\Азазель\Азазель cd2.avi
Выдало txt и переименовало соответственно в
Код: Выделить всё
Азазель(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 серия
Добавлено: Ср мар 24, 2010 10:38
Tol!k
Itar-Tass писал(а):Ошибочка
Чья?
Тот же автор писал(а):Великолепная семерка (The Magnificent Seven cd1)(1960) v:\_Кино\Фильмы(по жанрам)\05 Вестерны\Великолепная семерка\The Magnificent Seven CD1.avi
Великолепная семерка (The Magnificent Seven cd1)(1960) v:\_Кино\Фильмы(по жанрам)\05 Вестерны\Великолепная семерка\The Magnificent Seven CD2.avi
Замени кусок
Код: Выделить всё
: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:?=%"
::эмуляция
Добавлено: Ср мар 24, 2010 10:46
Itar-Tass
Моя.Все ошибки мои .Я же чайник
А можно полный текст cmd, исправленный и дополненный, с Вашим копирайтом и описанием.
Добавлено: Ср мар 24, 2010 11:04
Tol!k
Itar-Tass писал(а):переименовывать лучше всего в cd1 cd2 всю эту лабуду
Itar-Tass писал(а):А можно полный текст cmd, исправленный и дополненный
Здесь
Itar-Tass писал(а):с Вашим копирайтом и описанием
Слишком узкоспециальная (нужна особым образом подготовленная база данных) вещь получилась, вряд ли будет востребована народными массами. Кому понадобится — пусть читают тему
Добавлено: Ср мар 24, 2010 11:40
Itar-Tass
Tol!k писал(а):нужна особым образом подготовленная база данных
Да в общем то нет,ЛЮБОЙ,подчеркиваю любой каталогизатор
видео,музыки или книг имеет экспорт в csv или xls.И там эти 2 поля по любому есть.(На самом деле 3 или 4 я соединял[можно добавить еще режиссера или разрешение фильма] год и 2 названия)
А проблема имен есть и стоит достаточно остро,потому что в названиях файлов что только не пишут.
не говоря уже о том что 70% процентов таких файлов(а обычно именно ими забит хард стандартного юзера) проименованы латиницей, хотя на никсах меньше 10% юзеров(да и они вроде современные 1251 понимают)
Не стоит прогибаться под изменчивый мир,
Пусть лучше он прогнется под нас©
Вообще можно прогу написать и продавать за небольшие деньги, потому что в тех что есть это лишь дополнительная опция и новичок не разберется.
Типа переименование из excel таблицы.Поля выбирает пользователь.
переименование
Добавлено: Ср июл 21, 2010 20:20
Carlo
Доброго времени суток.
Не подскажите, возможно ли реализовать следующее:
есть много файлов (документы), которые необходимо переименовать на содержимое первых строк в этих файлах (документах)
Спасибо.