Автоматизированная работа с большим кол-вом контейнеров и аудио дорожек при помощи .bat скриптов [Инструкция]

Страницы :   Пред.  1, 2, 3 ... 14, 15, 16, 17, 18  След.
Ответить
 

ilunga

Стаж: 17 лет 2 месяца

Сообщений: 615

ilunga · 11-Окт-15 00:42 (9 лет 2 месяца назад, ред. 11-Окт-15 00:42)

dionus108 писал(а):
Так ведь есть команда move:
Цитата:
Код:
move  "%%A" F:\worked\split\
Копирование ведь намного больше времени занимает, чем перемещение в пределах одного диска.
да, спасибо
[Профиль]  [ЛС] 

blackride

Стаж: 16 лет 3 месяца

Сообщений: 210

blackride · 26-Ноя-15 13:27 (спустя 1 месяц 15 дней)

Подскажите, пожалуйста, что я делаю не так? :
ffmpeg -i input_file.mkv -vcodec copy -acodec ac3 -ab 640k output_file.mkv
Выходной файл появляется, но не воспроизводится любым плеером. Кодек HEVC. Все это дело проворачиваю под linux.
Что требуется: перекодировать дорожку DTS в AC3 в самом контейнере mkv без перекодирования видео дорожки.
Также интересно, как получать на выходе то же название файла, что у входного, но например, сохранять его в другой папке, чтоб остался входной.
[Профиль]  [ЛС] 

benitotalerte

Стаж: 8 лет 9 месяцев

Сообщений: 1


benitotalerte · 01-Мар-16 19:04 (спустя 3 месяца 5 дней)

может кто подсказать.Обрезал фильм в формате mkv через ffmpeg на выходе фильм воспроизводится на англ озвучке.Какую команду надо дописывать чтобы была русская озвучка?
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 19-Май-16 00:42 (спустя 2 месяца 17 дней, ред. 19-Май-16 00:42)

наверно не туда, но все же помогите решит проблему
имею спутниковый линукс ресивер с внутр. хардом ,хард в ОС подключен как сетевой диск. на ресивере - самба.
задача удалить несколько файлов посредством батника.
код
Код:
del /f /q /s "*.eit">log.txt
del /f /q /s "*.ts.ap">>log.txt
del /f /q /s "*.cuts">>log.txt
del /f /q /s "*.ts.meta">>log.txt
del /f /q /s "*.ts.sc">>log.txt
del /f /q /s "*block*.ts">>log.txt
если я запускаю этот батник с локального диска то все нормально, а на сетевом нет.
точнее выполняется только первая команда, остальные команды пишет "не найден файл..."
[Профиль]  [ЛС] 

Пупс Кочун

Стаж: 15 лет 7 месяцев

Сообщений: 746

Пупс Кочун · 19-Май-16 08:54 (спустя 8 часов)

TRAY_MAX писал(а):
70717535остальные команды пишет "не найден файл..."
А Вы попробуйте сделать псевдо-мониториг. Перед попыткой удалить - смотреть, действительно ли файлы 'видны' батнику.
Код:
del /f /q /s "*.eit" > log.txt
dir "*.ts.ap"
pause
del /f /q /s "*.ts.ap" >> log.txt
. . .
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 19-Май-16 14:39 (спустя 5 часов, ред. 19-Май-16 14:39)

Пупс Кочун
вот не пойму что не так, если ввести команду дир в кмд без параметров то список выводиться , а если с фильтром пишет "файл не найден" есть идеи ещё какие-нибудь? , может в самбе не настроенна что-то. да у диска файловая система - ext4 но в сетевом диске написано NTFS может это
может я использую не тот подстановочный знак, хотя не понятно отчего того на локальных дисках тогда работает
[Профиль]  [ЛС] 

Пупс Кочун

Стаж: 15 лет 7 месяцев

Сообщений: 746

Пупс Кочун · 19-Май-16 15:16 (спустя 36 мин.)

TRAY_MAX
Возможно, самбе не нравится двойное точие в шаблонах. И вместо "del *.ts.ap" надо попробовать "del *s.ap".
Возможно, самба помнит, что из юникса росла и ожидает явного задания директории. Т.е. не "del *s.ap", а "del .\*s.ap".
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 19-Май-16 17:15 (спустя 1 час 59 мин.)

Пупс Кочун
вот кстати, если до первой точки. то работает , три из 6 команд сработали..
но вот у которых по 4 буквы в расширение, упорно не хотят удаляться, да с "*block*.ts" не знаю что делать , так как второй "*" заменяется цифрой. от 1 до 8... тут как быть
[Профиль]  [ЛС] 

Пупс Кочун

Стаж: 15 лет 7 месяцев

Сообщений: 746

Пупс Кочун · 19-Май-16 17:26 (спустя 10 мин.)

TRAY_MAX писал(а):
70720956у которых по 4 буквы в расширение, упорно не хотят удаляться
Хм.. тут, похоже, самба делает "трансляцию" в 8.3 досовские.
Надо подумать...
TRAY_MAX писал(а):
70720956с "*block*.ts" не знаю что делать , так как второй "*" заменяется цифрой. от 1 до 8... тут как быть
del *block?.ts
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 07-Сен-16 16:52 (спустя 3 месяца 18 дней, ред. 07-Сен-16 16:52)

Снова обращаюсь сюда за помощью ..
задача собрать из набора файлов(Мкв, мка, асс) в один мкв при этом удалить оригинальную дорожку из мкв
не могу понять как в FOR задать несколько переменных...
код
скрытый текст
Код:
echo.off
set mux="d:\ProgrammMMS\VideoToolnix MaxiSoftware\Toolnix\MKVtoolnix"
FOR %%V IN ('*.MKV'), %%A IN ('*.MKA'), %%S IN ('*.ass") DO (
%mux%\mkvmerge --ui-language ru --output ^"nem\%%V" --no-audio --language 0:und --default-track 0:yes --forced-track 0:yes ^"^(^" ^"%%V" ^"^)^" --language 0:rus --default-track 0:yes --forced-track 0:yes ^"^ (^" ^"%%A" ^"^)^" --language 0:und --default-track 0:no ^"^(^" ^"\%%S" ^"^)^" --engage no_cue_duration --engage no_cue_relative_position --disable-track-statistics-tags --track-order 0:0,1:0,2:0>>log.txt
)
pause
exit
ошибка - "Непредвиденное появление"
все же как правильно?
вопрос решен, додумался сам как надо
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 05-Ноя-16 11:17 (спустя 1 месяц 27 дней, ред. 05-Ноя-16 11:17)

Впервые почитал немного эту тему и решил выложить свое поделие. Авось, кому пригодится.
https://drive.google.com/open?id=0B9otCf6-jlAtN0c1SjFVSld2dW8
Часто занимаюсь пересборкой mkv-шек, поэтому возникла потребность состряпать себе этакую универсальную программулину на батниках, чтобы не заниматься каждый раз правкой батников вручную. Программа писалась от нечего делать и под себя, поэтому сильно не заморачивался с описанием и дуракозащитой.
Основные функции - это работа с именами группы файлов (разное переименование, разбиение по папкам), но есть и функция обработки множества одинаковых файлов типовым батником (пункт 14/1). Очень помогает при работе с сериалами под MKVtoolnix, когда имена файлов отличаются только номером. Как вариант, прога позволяет сохранить исходные имена файлов в документ, присвоить типовые для удобства обработки, а потом восстановить имена из документа.
Чтобы разобраться в том, как работают команды, есть функция генерации тестовых файлов. Чтобы не наворотить дров, лучше потренироваться вначале на них.
Запускается с ярлыка (шрифт Lucida Console)
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 07-Ноя-16 12:38 (спустя 2 дня 1 час)

может кто знает как победить ...
задача как удалить файлы при этом оставить последний файл по дате в имени файла
пример Имяпередачи.(дата).[сайт].ави или без скобок в дате
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 07-Ноя-16 17:11 (спустя 4 часа)

TRAY_MAX писал(а):
71772319может кто знает как победить ...
задача как удалить файлы при этом оставить последний файл по дате в имени файла
пример Имяпередачи.(дата).[сайт].ави или без скобок в дате
Проще всего найти через поиск, а остальное удалить, ИМХО.
Положение даты фиксировано? Дата известна, или нужно определить последнюю?
Если стоит задача по определению последней даты, не в свойствах файла, а имени то скрипт получитася непростенький для батника.
Сделать поиск внутри for. для каждого найденного вырезать число, месяц и год с помощью расширения переменной имени файла, пересчитать дату в дни и сравнить со значением для предыдущего файла. если больше, удаляем предыдущий, если нет - текущий и т.д.
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 07-Ноя-16 19:15 (спустя 2 часа 3 мин.)

Pergydrol
Вот пример как у меня
скрытый текст
жирным отмечены которые должны остаться
Davay.Pozhenimsa.01.11.2016.SATRip.[Сайт].avi
Davay.Pozhenimsa.02.11.2016.SATRip.[Сайт].avi
Mesto.vstrechi.01.11.2016.SATRip.[Сайт].avi
Mesto.vstrechi.02.11.2016.SATRip.[Сайт].avi
Mesto.vstrechi.07.11.2016.SATRip.[Сайт].avi
Pust.Govoryat.01.11.2016.SATRip.[Сайт].avi
Pust.Govoryat.02.11.2016.SATRip.[Сайт].avi
Pust.Govoryat.07.11.2016.SATRip.[Сайт].avi
Vecherniy.Urgant.01.11.2016.SATRip.[Сайт].avi
Vecherniy.Urgant.02.11.2016.SATRip.[Сайт].avi
Vecherniy.Urgant.03.11.2016.SATRip.[Сайт].avi
требуемое действие - оставить лишь файл с крайней в имени датой, остальное удалить
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 07-Ноя-16 20:33 (спустя 1 час 18 мин., ред. 07-Ноя-16 20:33)

TRAY_MAX
Для батника эта задачка нетривиальная и громоздкая. Ведь нужно определить не только последнюю дату, но и ее наличие и положение ее в произвольном имени. А пока на ум приходит только вариант с заранее определенным списком передач, которые будут хранится в отдельном файле:
скрытый текст
Davay.Pozhenimsa.?17
Mesto.vstrechi.?15
Pust.Govoryat.?14
Vecherniy.Urgant.?17
Где ?тn - число символов перед непосредственно датой. А далее действовать по описанному мной выше сценарию.
Не слишком элегантно. Но если такой вариант устроит, могу соспряпать на досуге.
P.s.: Но если "сайт" всегда один и тот же, до задача значительно упрощается
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 07-Ноя-16 21:40 (спустя 1 час 6 мин.)

Pergydrol
ну сайт всегда один, я просто удалил дабы не нарушить правил
я рассматриваю вариант с vbscript , как понимаю его тут единицы используют
т.е проще вручную удалять?
ну если не сложно то буду премного благодарен
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 08-Ноя-16 18:12 (спустя 20 часов, ред. 14-Ноя-16 16:10)

TRAY_MAX
Да, vbs тут лучше подойдет. Увы, я в нем только чуть-чуть.
Вот вариант батника с заранее определенным списком
скрытый текст
Davay.Pozhenimsa.?17
Mesto.vstrechi.?15
Pust.Govoryat.?14
Vecherniy.Urgant.?17
Где ?тn - число символов перед непосредственно датой.
Сам код батника
скрытый текст
Код:

@echo off
chcp 1251
cls
rem Имя файла со списоком
SET LIST=list.ini
rem Путь к файлам
SET PUT="F:\Лаборатория\Примеры батников\Удаление по дате в имени файла\file_for_test\"
@echo. >>log.txt
@echo. =================================================>>log.txt
@echo  %DATE% %TIME% >>log.txt
@echo. >>log.txt
for /f "tokens=1,* delims=?" %%a in (%LIST%) DO (
  set OLDCHAR=0
  @echo.
  @echo Проверка   %%a
  @echo Проверка   %%a>>log.txt
  for /f "usebackq delims=?" %%i IN (`dir %PUT%"%%a*" /a /o:n /n /c /b`) DO (
   set NAM=%%~ni
   set DATE=!NAM:~%%b,10!
   set DAY=!DATE:~0,2!
   set TEMP=!DAY:~0,1!
   IF /i !TEMP! EQU 0 (
    SET DAY=!DAY:~1,1!
   )
   set MOUNT=!DATE:~3,2!
   set TEMP=!MOUNT:~0,1!
   IF /i !TEMP! EQU 0 (
    SET MOUNT=!MOUNT:~1,1!
   )
   set YAR=!DATE:~6,4!
   set /a CHAR=!DAY!+31*!MOUNT!+365*!YAR!
   if /i !OLDCHAR! NEQ 0 (
    if /i  !OLDCHAR! GEQ !CHAR! (
     @echo Удален  "%%i"
     @echo   Удален  "%%i">>log.txt
     del %PUT%"%%i"
    ) ELSE (
     @echo Удален  "!OLDFILE!"
     @echo   Удален  "!OLDFILE!">>log.txt
     del %PUT%"!OLDFILE!"
     set OLDCHAR=!CHAR!
     set OLDFILE=%%i
    )
   ) ELSE (
    set OLDCHAR=!CHAR!
    set OLDFILE=%%i
   )
  )
)
@echo. >>log.txt
@echo.
@echo Смотри log.txt
@echo.
pause
Аккуратно проверьте на файлах-пустышках. Должно работать.
Запускать следует либо через другой батник с кодом:
скрытый текст
Код:
cmd /v:on /c call "main.bat"
Либо через ярлык, в котором прописан объект "C:\WINDOWS\system32\cmd.exe /v:on /c call "main.bat"", а рабочая папка оставлена пустой. Шрифт - Lucida Console. Этот вариант предпочтительнее
Позже подготовлю вариант с именем сайта.
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 12-Ноя-16 07:50 (спустя 3 дня, ред. 14-Ноя-16 16:10)

TRAY_MAX
Вариант с постоянной последней частью. Алгоритм тот же самый, что и в предыдущем варианте, но здесь предварительно составляется список передач автоматически. Расчитано на то, что посленяя часть имени файла сразу после даты всегда постоянна и одинакова для разных передач
скрытый текст
Код:

@echo off
chcp 1251
cls
rem Имя файла со списоком
rem Постоянная часть после даты
SET CONST=.Siterip.[сайт]
rem Длина постоянной части
SET CONSTNUM=15
rem Имя файла со списком
SET LIST=list.ini
rem Путь к файлам
SET PUT="F:\Лаборатория\Примеры батников\Удаление по дате в имени файла\file_for_test_2\"
@echo. >>log.txt
@echo. =================================================>>log.txt
@echo  %DATE% %TIME% >>log.txt
@echo. >>log.txt
if NOT EXIST %LIST% @ECHO.>>%LIST%
@echo Поиск
@echo.
for /f "usebackq delims=?" %%i IN (`dir %PUT%"*%CONST%*" /a /o:n /n /c /b`) DO (
  SET TEMP=%%~ni
  SET TEMP=!TEMP:~0,-%CONSTNUM%!
  SET TEMP=!TEMP:~0,-10!
  SET NAME=!TEMP!
  @echo !TEMP!
  for /f "usebackq delims=?" %%b IN (`find /c "!TEMP!" %LIST%`) DO (
   if /i "%%b"=="---------- %LIST%: 0" (
    SET KOLWO=0
    CALL :kalk
    @echo !NAME!?!KOLWO!>>%LIST%
    @echo.
    @echo Новая строка:   !NAME!   !KOLWO!>>log.txt
    @echo Новая строка:
    @echo !NAME! = !KOLWO!
   )
  )
)
@echo. >>log.txt
for /f "tokens=1,* delims=?" %%a in (%LIST%) DO (
  set OLDCHAR=0
  @echo.
  @echo Проверка   %%a
  @echo Проверка   %%a>>log.txt
  for /f "usebackq delims=?" %%i IN (`dir %PUT%"%%a*" /a /o:n /n /c /b`) DO (
   set NAM=%%~ni
   set DATE=!NAM:~%%b,10!
   set DAY=!DATE:~0,2!
   set TEMP=!DAY:~0,1!
   IF /i !TEMP! EQU 0 (
    SET DAY=!DAY:~1,1!
   )
   set MOUNT=!DATE:~3,2!
   set TEMP=!MOUNT:~0,1!
   IF /i !TEMP! EQU 0 (
    SET MOUNT=!MOUNT:~1,1!
   )
   set YAR=!DATE:~6,4!
   set /a CHAR=!DAY!+31*!MOUNT!+365*!YAR!
   if /i !OLDCHAR! NEQ 0 (
    if /i  !OLDCHAR! GEQ !CHAR! (
     @echo Удален  "%%i"
     @echo   Удален  "%%i">>log.txt
     del %PUT%"%%i"
    ) ELSE (
     @echo Удален  "!OLDFILE!"
     @echo   Удален  "!OLDFILE!">>log.txt
     del %PUT%"!OLDFILE!"
     set OLDCHAR=!CHAR!
     set OLDFILE=%%i
    )
   ) ELSE (
    set OLDCHAR=!CHAR!
    set OLDFILE=%%i
   )
  )
)
@echo. >>log.txt
@echo.
@echo Смотри log.txt
@echo.
:end
pause
EXIT
:kalk
SET /a KOLWO=!KOLWO!+1
SET TEMP=!TEMP:~0,-1!
IF DEFINED TEMP (goto kalk)
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 13-Ноя-16 23:40 (спустя 1 день 15 часов)

Pergydrol
прекрасное работа, первый вариант работает без ошибок, правда есть небольшое замечание по файл листинга , в случае если имя состоит меньше чем из 10 символов вкл точку , возникает ошибка приводящая удалению всех файлов передачи, решение простым оказалось добавление нуля (01-09) тогда ошибки нет.
вот с вторым вариантом не понимаю где ошибка, все нормально вроде но не удаляет.... может я чего-то не так прописал...
ну для полного счастья хотелось бы на папку тоже действовала , у одной передачи я делаю частями , ибо там перерывы есть , папку именую точно также... как показал тест , удаляется все файлы во всех выпусках вкл последний , а сами папки не удаляется ....
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 14-Ноя-16 16:16 (спустя 16 часов, ред. 14-Ноя-16 16:16)

TRAY_MAX
Ошибки вполне возможны. Постараюсь проанализировать и поправить, если будет время. Еще дело может быть и в именах файлов. К сожалению, некоторые символы для bat-скриптов являются запрещенными. А еще возможны траблы с антивирусом. Лично мой складывает каждый новый батник песочницу.
По поводу второго: я тестил на файлах с именами типа "Ex.Example1.11.12.2016.Siterip.[сайт]" и у меня все работает.
У вас только не удаляет, или вообще не работает? Файл со списком формируется?
Мне было бы легче, если бы вы скинули мне (в личку) конкретный достаточно объемный пример списка ваших файлов. Список быстро можно сделать с помощью моей программулины (пост выше) , пункт "сохранить имена в txt".
Насчет папок подумаю. Но работа с папками и с файлами отличатся. Дробные передачи, всегда располагаются в папках, или есть такие, что размещены в одном файле? В первом случае проще, т.к. можно просто обрабатывать папка отдельно от файлов.
UPD: Нашел ошибки, связанные с неудалением. В обоих вариантых забыл вставить путь перед именем удаляемого файла. Странно, что первый вариант вообще работал. Это годилось только при расположении файлов в одной папке с батником
скрытый текст
Нужно заменить строчки
Код:

del "%%i"
del "!OLDFILE!"
на
Код:
del %PUT%"%%i"
del %PUT%"!OLDFILE!"
Скрипты в постах выше поправил
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 14-Ноя-16 18:40 (спустя 2 часа 23 мин., ред. 14-Ноя-16 18:40)

Pergydrol
понятно, к сожаление я чистить буду только в ВС..
а касательно папки передачи, шаблон такой
НазвПередачи.Дата,Качество.Сайт, внутри находиться часть1.ави, часть2.ави, часть2.ави и торрент,
касательно списка передач, тут несколько сложно предугадать точно , бывает так что я порипаю передачу неделю одну и все , потом долго не требуется , но не проблема составить список...
Pergydrol писал(а):
71821490У вас только не удаляет, или вообще не работает? Файл со списком формируется?
ну скрипт работает и файл формируется просто не удалял , до вашей правки...
Pergydrol писал(а):
71821490Странно, что первый вариант вообще работал. Это годилось только при расположении файлов в одной папке с батником
я положил все в папку с рипами , поэтому и поди сработало
скрытый текст
Код:
rem Постоянная часть после даты
SET CONST=.Siterip.[сайт]
rem Длина постоянной части
SET CONSTNUM=15
уточните пожалуйста , нужно ли вставлять свои "данные" и пересчитать количество символов , или нет , путь то это понятно надо менять, просто я могу ошибаться так-то
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 14-Ноя-16 19:41 (спустя 1 час 1 мин.)

TRAY_MAX
TRAY_MAX писал(а):
71822441Pergydrol
уточните пожалуйста , нужно ли вставлять свои "данные" и пересчитать количество символов , или нет , путь то это понятно надо менять, просто я могу ошибаться так-то
Да, конечно. Нужно вставить свое. CONST - это все от даты до точки расширения, а CONSTNUM - кол-во символов этой части. И обрабатываться будут только те файлы, имя которых содержит CONST. CONSTNUM - для определения позиции даты в имени. Формат даты строго фиксирован дд.мм.гггг. При вставке пути нужно не забыть про последний слеш и кавычки (тут все работает благодаря кавычкам ). Во втором варианте LIST - просто имя для файла со списком. Он создастся с заданным именем сам. Лучше сменить с list.ini на list2.ini, например. Чтобы не конфликтовало после опытов с первым варинтом.
[Профиль]  [ЛС] 

TRAY_MAX

Top Bonus 04* 3TB

Стаж: 15 лет 9 месяцев

Сообщений: 1256

TRAY_MAX · 14-Ноя-16 20:05 (спустя 23 мин., ред. 14-Ноя-16 20:05)

Pergydrol писал(а):
71822851Во втором варианте LIST - просто имя для файла со списком. Он создастся с заданным именем сам. Лучше сменить с list.ini на list2.ini, например. Чтобы не конфликтовало после опытов с первым варинтом
так я так и сделал просто добавил цифру....
список я скину вам в лс скоро
добавлено позже, у вас отключена ЛС прием
ссылка на файл на ЯДе, (надеюсь правил не нарушаю)
скрытый текст
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 15-Ноя-16 16:34 (спустя 20 часов)

TRAY_MAX
А я и не знал, что ЛС у меня отключены.
Список получил, спасибо. Поработаю с ним.
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 19-Ноя-16 16:17 (спустя 3 дня)

TRAY_MAX
Проверил работу скриптов на именах из вашего списка. Все работает. Ошибки при имени меньше 10 сиволов не наблюдаю.
По поводу папки - еще не пробовал: не было времени, к сожалению.
[Профиль]  [ЛС] 

Dtd8N

Стаж: 8 лет 1 месяц

Сообщений: 255


Dtd8N · 20-Ноя-16 14:47 (спустя 22 часа)

Подскажите, возможно ли такое?
для всех файлов .mkv в указанной папке (а не в текущей папке запуска скрипта)
вытащить звук с помощью eac3to в другую указанную папку
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 20-Ноя-16 16:15 (спустя 1 час 28 мин., ред. 20-Ноя-16 16:15)

Dtd8N
возможно, если eac3to позволяет работать из-под командной строки и перемещать извлекаемый файл в другую папку
[Профиль]  [ЛС] 

Dtd8N

Стаж: 8 лет 1 месяц

Сообщений: 255


Dtd8N · 20-Ноя-16 16:29 (спустя 13 мин., ред. 20-Ноя-16 16:29)

Pergydrol писал(а):
71864324Dtd8N
возможно, если eac3to позволяет работать из-под командной строки и перемещать извлекаемый файл в другую папку
позволяет, тлько не совсем понимаю какой должен быть скрипт
в примерах скрипты для всех файлов в папке запуска скрипта
ну вот например
файлы лежат на диске С:\in\S01Exx.mkv
банитк запускаем из ДРУГОЙ папки
Цитата:
FOR %%i IN (*.mkv) DO (
eac3to "%%i" 2: "K:\out\%%i".wav)
как указать входную папку?
[Профиль]  [ЛС] 

Pergydrol

Стаж: 14 лет 2 месяца

Сообщений: 57


Pergydrol · 20-Ноя-16 18:10 (спустя 1 час 41 мин., ред. 20-Ноя-16 20:12)

Dtd8N
Можно перейти из стартовой папки в нужную, прописав в начале батника
Код:

cd /d "С:\in"
Но тогда скрипт потеряет eac3to, поэтому нужно дописать полный путь к нему. Команда будет выглядеть так:
Код:

"C:\Program Files (x86)\eac3to.exe" "%%i" 2: "K:\out\%%i".wav
Можно иначе. Запускать батник в одной папке с eac3to, но выполнять поиск файлов с помощью dir
Код:

for /f "usebackq delims=?" %%i IN (`dir "С:\in\""*.mkv" /a /o:n /n /c /b`) DO (
   eac3to "%%~fi" 2: "K:\out\%%~ni".wav
)
ИМХО, так лучше
UPD:
Еще справка подсказывает
Код:

FOR /R "С:\in\" %%i IN (*.mkv) DO (
eac3to "%%i" 2: "K:\out\%%~ni".wav)
Но в этом варианте не уверен, так как не использую. Но вроде бы работает
[Профиль]  [ЛС] 

Dtd8N

Стаж: 8 лет 1 месяц

Сообщений: 255


Dtd8N · 20-Ноя-16 18:58 (спустя 48 мин., ред. 20-Ноя-16 18:58)

Pergydrol писал(а):
благодарствую, сохранил все варианты на всякий случай
предпочитаю всегда писать полные пути, так как при сокращение пару раз вылезали неприятные баги
1 раз даже перестала работать командная строка
UP
опробовал все 3
дело осложняет доступ по локальной сети
1ый вариант
CMD.EXE не поддерживает пути UNC в качестве текущей папки.
дальше выдал
L:\out>"G:\eac\eac3to.exe" "%i" 2: "L:\out\%i".wav
Source file "%i" not found.
2ой вариант
L:\out>("G:\eac\eac3to.exe" "S07E06.mkv" 2: "L:\out\S07E06.mkv".wav )
Source file "S07E06.mkv" not found.
3ий вариант
доступ к файлу он получает, так как видно загрузку, видимо EAC считывает информацию о файле, а дальше выдает это
The destination file "L:\out\\\Server\e\in\S07E04.mkv.wav" could not be created.
a02 Writing the destination file failed.
Aborted at file position 1048576.
видимо он подписывает весь путь в имя файла
[Профиль]  [ЛС] 
 
Ответить
Loading...
Error