Обсуждение темы "Обмен кнопками"
Select messages from
# through # FAQ
[/[Print]\]
Goto page Previous  1, 2, 3 ... 40, 41, 42 ... 78, 79, 80  Next  :| |:
Total Commander -> Автоматизация Total Commander

#601:  Author: jentoso PostPosted: Tue Apr 30, 2013 15:41
    —
ask-rus
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\AkelPad\AkelPad.exe %commander_path%\HOTKEY.txt

%COMMANDER_PATH%\Utils\AkelPad\AkelPad.exe
AkelPad
%COMMANDER_PATH%\Utils\AkelPad\

-1

#602:  Author: ask-rusLocation: Russian Federation PostPosted: Tue Apr 30, 2013 15:48
    —
Мда, а я в поле Параметры ввожу путь до файла... Первый класс.

#603:  Author: Tol!kLocation: Арзамас PostPosted: Tue Apr 30, 2013 15:54
    —
по уму, в Параметры и надо – это же параметр для редактора (путь\файл)
Но
1. нужно удваивать %%
2. всё равно не работает
-----------------
похоже на баг

#604:  Author: FlasherLocation: Москва PostPosted: Tue Apr 30, 2013 16:05
    —
Есть ещё такой вариант:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe
NOTE\Note1.txt
wcmicons.dll,28
Открыть файл в текстовом редакторе
%COMMANDER_PATH%\
или такой:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe
..\..\NOTE\Note1.txt
wcmicons.dll,28
Открыть файл в текстовом редакторе
%COMMANDER_PATH%\SOFT\AkelPad\


Tol!k wrote:
похоже на баг
С чего бы? То, что AkelPad не понимает иные переменные среды вне методов, - это данность, а не баг.
С методом будет запускаться без проблем:
Code:
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\SOFT\AkelPad\AkelPad.exe
/OpenFile("%%COMMANDER_PATH%%\NOTE\Note1.txt")
wcmicons.dll,28
Открыть файл в текстовом редакторе

#605:  Author: Tol!kLocation: Арзамас PostPosted: Tue Apr 30, 2013 20:37
    —
Flasher wrote:
AkelPad не понимает

не AkelPad

угадай, откуда в этой кнопке раки?
Code:
TOTALCMD#BAR#DATA
%ProgramFiles%\EditPlus3\editplus.exe
%%commander_path%%\wcx\multiarc\multiarc.ini
%ProgramFiles%\EditPlus3\editplus.exe,4
multiarc.ini


-1


Добавлено спустя 15 минут:

вар. №3
Code:
TOTALCMD#BAR#DATA
cmd /c start "" "%commander_path%\AkelPad\AkelPad.exe"
"%%commander_path%%\wcx\multiarc\multiarc.ini"
%commander_path%\AkelPad\AkelPad.exe,1
multiarc.ini

1
-1

#606:  Author: FlasherLocation: Москва PostPosted: Tue Apr 30, 2013 23:02
    —
Tol!k wrote:
не AkelPad
А что же ещё? Больше там понимать нечему. В примере про зимовку уже другого редактора касается. TC же не конвертировал там переменные среды никогда, это by disign (сделано для возможности правильной передачи внутренних переменных интерпретаторов и знаков процента). Обсуждалось несколько раз. В памятке я писал о допустимости (внешними программами, разумеется).
Последний пример с cmd я бы, конечно, не стал предлагать. Лучше уж тогда с nircmd.

#607:  Author: bbcby PostPosted: Thu Jun 13, 2013 03:10
    —
Здравствуйте. Помогите с кнопкой.
Процедура, которая выполняется почти вручную, есть 2 файла

makeAvs.cmd
Code:
for %%x in (*.mkv) do (
echo.Import^("template.avs"^)
echo.DoIt^("%%x"^)
) > "%%~nx.avs"


template.avs
Code:
function DoIt(string filename)
{
   FFmpegSource2(filename, vtrack=-1, atrack=1, width=720, height=480, resizer="LANCZOS", colorspace="YUY2")
   AssumeFPS(24000, 1001)
   ColorMatrix(mode="Rec.709->Rec.601", inputFR=false, clamp=0)
   #~ FadeIO0(5)
   #~ FadeIO0(5)
   #~ ConvertToStereo()
   return last
}

оба файла лежат в директории с MKV файлами, запуском makeAvs.cmd генерирутются AVS файлы,
напр. имеются MKV:
Castle.s05e01.1080p.WEB-DL.mkv
Castle.s05e02.1080p.WEB-DL.mkv
Castle.s05e03.1080p.WEB-DL.mkv


получаем AVS:
Castle.s05e01.1080p.WEB-DL.avs
Castle.s05e02.1080p.WEB-DL.avs
Castle.s05e03.1080p.WEB-DL.avs


Содержание AVS файла:
Code:
Import("template.avs")
DoIt("Castle.s05e02.1080p.WEB-DL.mkv")


Хотелось бы на это дело кнопку, которая генерировала бы AVS файлы на выделенные в данный момент в коммандере файлы.
И чтобы темплейты (makeAvs.cmd и template.avs) лежали в своей постоянной директории. А то приходится их постоянно тягать туда-сюда.
Надеюсь изложил понятно. Заранее спасибо за помощь. С CMD.EXE не очень дружу.

#608:  Author: FlasherLocation: Москва PostPosted: Thu Jun 13, 2013 06:38
    —
bbcby
Содержимое файла template.avs можно было не приводить. makeAvs.cmd выкинуть. Для кнопки:
Команда: %ComSpec% /c for /f "delims=" %x in
Параметры: ('type "%WF"') do >"%%~nx.avs" (echo.Import^("Полный путь к template.avs"^) & echo.DoIt^("%%x"^))
Путь запуска очистить. Поставить галку "в свёрнутом виде".

#609:  Author: bbcby PostPosted: Thu Jun 13, 2013 13:12
    —
Flasher
Спасибо. Все супер.
Один момент только, если назв. файла по-русски получаем кракозяблы внутри AVS.

Добавлено спустя 29 минут:

Flasher
Ничего не дало.
PS это мой ответ на предыдущее сообщение, которое пропало.

#610:  Author: FlasherLocation: Москва PostPosted: Thu Jun 13, 2013 14:06
    —
bbcby
А если вместо пробелов знаки подчёркивания?

#611:  Author: bbcby PostPosted: Thu Jun 13, 2013 14:19
    —
Flasher wrote:
bbcby
А если вместо пробелов знаки подчёркивания?

Вы имеете ввиду в имени файла? Если да то ничего. Получается так:
Code:
Import("D:\avs_auto\template_ff_720.avs")
DoIt("‹ҐЈҐ­¤ _¤«п_®ЇҐаиЁ.mpg")

#612:  Author: FlasherLocation: Москва PostPosted: Thu Jun 13, 2013 14:23
    —
bbcby
С исходником?

#613:  Author: bbcby PostPosted: Thu Jun 13, 2013 14:36
    —
Flasher wrote:
bbcby
С исходником?

Что-то я запутался. Поясню так. Исходное имя файла, на который создается AVS:
Кто поедет в Трускавец.mpg
получаем AVS:
Кто поедет в Трускавец.avs
с содержимым
Code:
Import("D:\avs_auto\template_ff_720.avs")
DoIt("Љв® Ї®Ґ¤Ґв ў ’агбЄ ўҐж.mpg")

#614:  Author: FlasherLocation: Москва PostPosted: Thu Jun 13, 2013 14:48
    —
Исходник - это предложенный вариант кнопки без исправлений.

Вообще тут дело в правильном прочтении текстовым редактором нужной кодировки. Файл сохраняется в OEM.
Программа-то эти avs как читает?

vbs, чтоб не мучаться:
Code:
'===================================================================================
' Создание avs-файлов для выбранных mkv-файлов
' Параметр: %L
'===================================================================================
If WScript.Arguments.Count = 0 Then WScript.Quit
With CreateObject("Scripting.FileSystemObject")
  Set File = .OpenTextFile(WScript.Arguments(0), 1)
  Do While Not File.AtEndOfStream
    F = Trim(File.ReadLine)
    If F <> "" Then
      If StrComp(.GetExtensionName(F), "mkv", 1) = 0 Then
        PF = .GetParentFolderName(F) & "\" : NF = .GetBaseName(F) & ".avs"
        If Not .FileExists(PF & NF) Then .OpenTextFile(PF & NF, 2, True).Write _
        "Import(""template.avs"")" & vbNewLine & "DoIt(""" & .GetFileName(F) & """)"
      End If
    End If
  Loop
End With
К template.avs дописать полный путь.
Работать можно в режиме без подкаталогов и результатов поиска.


Last edited by Flasher on Thu Jun 13, 2013 16:12; edited 1 time in total

#615:  Author: bbcby PostPosted: Thu Jun 13, 2013 15:14
    —
Quote:
Файл сохраняется в OEM.

template_ff_720.avs в OEM? Ничего не дало.
Quote:
Программа-то эти avs как читает?

Не понял, какую программу имеете ввиду.

Добавлено спустя 11 минут:

Quote:
vbs, чтоб не мучаться:

а какие параметры для кнопки?



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Goto page Previous  1, 2, 3 ... 40, 41, 42 ... 78, 79, 80  Next  :| |:
Page 41 of 80

Powered by phpBB © 2001, 2005 phpBB Group