AIMP Forum

Разное => Архив / Archive => Вопросы (архив) / Questions (archive) => Topic started by: amorphyc on January 24, 2016, 10:39:39

Title: [решено] ClassicShell - Параметры командной строки.
Post by: amorphyc on January 24, 2016, 10:39:39
Здравствуйте, друзья! Вопрос таков: создал кнопку для для запуска в AIMPе выделенных файлов, по аналогии контекстного меню "воспроизвести в Aimp". Так вот, с параметром C:\Program Files (x86)\AIMP\AIMP.exe /ADD_PLAY "%1" - плеер открывает ВСЮ текущую папку, игнорируя выделения, при параметре C:\Program Files (x86)\AIMP\AIMP.exe /ADD_PLAY "%2" плеер открывает только выделенное, НО только если выделен один объект - файл или папка. При выделении нескольких объектов - плеер запускается пустым. Можно ли научить его правильно понимать выделенные объекты и воспроизводить только то, что требуется?
Title: Re: Параметры командной строки.
Post by: Artem on January 24, 2016, 16:37:56
Здравствуйте, друзья! Вопрос таков: создал кнопку для для запуска в AIMPе выделенных файлов, по аналогии контекстного меню "воспроизвести в Aimp". Так вот, с параметром C:\Program Files (x86)\AIMP\AIMP.exe /ADD_PLAY "%1" - плеер открывает ВСЮ текущую папку, игнорируя выделения, при параметре C:\Program Files (x86)\AIMP\AIMP.exe /ADD_PLAY "%2" плеер открывает только выделенное, НО только если выделен один объект - файл или папка. При выделении нескольких объектов - плеер запускается пустым. Можно ли научить его правильно понимать выделенные объекты и воспроизводить только то, что требуется?

А что реально ему передается в командную строку в каждом из случаев?
Title: Re: Параметры командной строки.
Post by: amorphyc on January 24, 2016, 17:14:59
А что реально ему передается в командную строку в каждом из случаев?
А вот тут я вообще далёк от этого! Я просто взял эти значения из F.A.Q.
Title: Re: Параметры командной строки.
Post by: amorphyc on January 24, 2016, 17:18:07
Скажем так - интересует, какая команда отправляется из контекстного меню, при выделении нескольких песен или папок, и нажатии на "Воспроизвести в AIMP"
Title: Re: Параметры командной строки.
Post by: Artem on January 24, 2016, 17:19:20
Скажем так - интересует, какая команда отправляется из контекстного меню, при выделении нескольких песен или папок, и нажатии на "Воспроизвести в AIMP"

Общение происходит не через командную строку.

Попробуйте так:
C:\Program Files (x86)\AIMP\AIMP.exe /ADD_PLAY %1
Title: Re: Параметры командной строки.
Post by: amorphyc on January 24, 2016, 22:20:59
Я пробовал. Если написать как у Вас - без кавычек, то ничего не происходит. На форуме, в FAQ сказано, что параметр нужно заключать в двойные кавычки. Тогда срабатывет, но открывает, как я и писал, всю текущую папку (ту, где мы находимся) и не обращает внимания на выделенное.
Title: Re: Параметры командной строки.
Post by: Artem on January 27, 2016, 11:31:59
Я пробовал. Если написать как у Вас - без кавычек, то ничего не происходит. На форуме, в FAQ сказано, что параметр нужно заключать в двойные кавычки. Тогда срабатывет, но открывает, как я и писал, всю текущую папку (ту, где мы находимся) и не обращает внимания на выделенное.

Так, понял в чем дело. %1 - это первый файл, %2 - второй. Вам же нужно передать все файлы (см. http://stackoverflow.com/questions/357315/get-list-of-passed-arguments-in-windows-batch-script-bat )
Title: Re: Параметры командной строки.
Post by: amorphyc on January 27, 2016, 15:38:41
Здравствуйте! Спасибо за помощь, но моих знаний очень мало, чтоб понять это всё !  ??? Перепробовал показанные там команды, но не добился результата, к сожалению! Может, найдутся люди, кто сможет найти эту лазейку?
Title: Re: Параметры командной строки.
Post by: JD on January 27, 2016, 16:35:38
Здравствуйте! Спасибо за помощь, но моих знаний очень мало, чтоб понять это всё !  ??? Перепробовал показанные там команды, но не добился результата, к сожалению! Может, найдутся люди, кто сможет найти эту лазейку?
а %* не работает что ли?
т.е.
Code: [Select]
AIMP.exe /ADD_PLAY %*?
Title: Re: Параметры командной строки.
Post by: amorphyc on January 28, 2016, 05:31:45
а %* не работает что ли?
т.е.
Code: [Select]
AIMP.exe /ADD_PLAY %*?
Нет, к сожалению. Видимо, всё-же там нельзя таким путем это сделать.
Title: Re: Параметры командной строки.
Post by: DesweR on January 28, 2016, 08:00:13
А как сделали кнопку в панели?
И чем не устраивает стандартная кнопка "Воспроизвести выделенное"?
Title: Re: Параметры командной строки.
Post by: amorphyc on January 28, 2016, 10:56:45
А как сделали кнопку в панели?
И чем не устраивает стандартная кнопка "Воспроизвести выделенное"?
Это программа ClassicShell. Я после Windows XP привык к кнопкам, мне они удобнее. Выделил - удалил одной кнопкой. Скопировал - вставил. Плюс - свои кнопки можно создавать.
Title: Re: Параметры командной строки.
Post by: JD on January 28, 2016, 11:33:49
Это программа ClassicShell
Справку надо было читать к этой тулзе. Разработчики почему-то решили изменить стандартное поведение - в их прогремме %1, %2 и т.д. это не привычные параметры командной строки винды, а специфические для этой программы значения. Например %1 это текущий каталог (!).
Вам же нужен %3 - файл в темпе со списком выделенных файлов.
Без промежуточного батника сценарий невыполним.
Вам нужно создать батник, в котором вы распарсите темповый файл и позовёте АИМП.
Title: Re: Параметры командной строки.
Post by: DesweR on January 28, 2016, 14:16:24
В папке профиля Аимпа (...\AppData\Roaming\AIMP\) создайте файл play.bat и вставьте код:
Quote
@ECHO OFF
CHCP 1251>NUL
SETLOCAL EnableExtensions EnableDelayedExpansion

SET list=%1
SET list=!list:"=!

MOVE /y "!list!" "!list!.m3u"
SET list=!list!.m3u

START "" "%PROGRAMFILES(x86)%\AIMP\AIMP.exe" /ADD_PLAY "!list!"

PING -n 11 127.0.0.1>nul
DEL \q "!list!"

В ClassicShell в настройках кнопки пропишите команду:
%USERPROFILE%\AppData\Roaming\AIMP\play.bat "%3"

(https://www.aimp.ru/forum/index.php?action=dlattach;topic=51790.0;attach=46032)

В настройках Аимпа выставите опцию Плейлист -> Добавление файлов -> Открытие файлов из внешних приложений -> Действие по умолчанию -> Добавить в текущий плейлист
И уберите галочку с Открывать плейлисты в новых вкладках
Title: Re: Параметры командной строки.
Post by: amorphyc on January 28, 2016, 17:00:54
Справку надо было читать к этой тулзе. Разработчики почему-то решили изменить стандартное поведение - в их прогремме %1, %2 и т.д. это не привычные параметры командной строки винды, а специфические для этой программы значения. Например %1 это текущий каталог (!).
Вам же нужен %3 - файл в темпе со списком выделенных файлов.
Без промежуточного батника сценарий невыполним.
Вам нужно создать батник, в котором вы распарсите темповый файл и позовёте АИМП.
Спасибо большое! Вы оказались правы!
Title: Re: Параметры командной строки.
Post by: amorphyc on January 28, 2016, 17:03:51
В папке профиля Аимпа (...\AppData\Roaming\AIMP\) создайте файл play.bat и вставьте код:
В ClassicShell в настройках кнопки пропишите команду:
%USERPROFILE%\AppData\Roaming\AIMP\play.bat "%3"
УРАААА! Огромное Вам спасибо!!! Всё отлично работает! Плюс за помощь и понимание!! :)