Total Commander Knowledge Base

Есть вопрос?

Поищите ответ в самой большой русскоязычной базе знаний по Total Commander!

Продвинутые запуск и добавление файлов в Winamp

Q: Вот возник вопрос по запуску mp3. Сейчас привык делать это из эксплорера, там два варианта запуска: или просто щелчок по файлу (или выбор нескольких фалов + Enter) - это для прослушивания; или выбор файлов, right-click, Enqueue in Winamp - это для добавления в очередь.

Соответственно, хотелось бы попроще реализовать это в TC.
Например, две кнопки на панели, одна запускает "winamp.exe список_файлов", вторая - "winamp.exe /ADD список_файлов".
Даже сделал такие кнопочки (вызов winamp.exe %L), но в винамп добавляется только "e:\winxp\Temp\CMD1B5.tmp" и т.д., номер меняется каждый раз. Как же быть?

Нашел TWinAmp2 fs-плугин, но это совсем не то, что мне надо. Нашел еще WALaunch4TC - похоже, даже работает, но он запускается в отдельном окне, на которое на несколько секунд переходит фокус... :(

A: Создайте *.vbs и повесьте на кнопку:

'Проигрывание\добавление отмеченных файлов в Winamp
'В параметрах необходимо прописать %L, если нужно добавить в список
'Если нужно заменить список, нужно указать любой второй параметр

Dim Winamp
Winamp = "d:\Program Files\Winamp5\winamp.exe" 'Путь к Winamp-у

Set objArgs = WScript.Arguments
Set TempFile = CreateObject("Scripting.FileSystemObject").OpenTextFile(objArgs(0), 1)
Set WS = CreateObject("WScript.Shell")

if objArgs.Count > 1 then
Str = TempFile.ReadLine
if Right(Str,1) = "\" then
Str = Left(Str, Len(Str) - 1)
end if
WS.run chr(34) & Winamp & chr(34) & " " & chr(34) & Str & chr(34)
end if

Do While Not TempFile.AtEndOfStream
Str = TempFile.ReadLine
if Right(Str,1) = "\" then
Str = Left(Str, Len(Str) - 1)
end if
WS.run chr(34) & Winamp & chr(34) & " /add " & chr(34) & Str & chr(34)
Loop

Batya

A: В TC 7.0 можно использовать параметр %S - он передаёт через командную строку список всех выделенных файлов. То есть кнопка будет иметь примерно следующий вид:

Код кнопки
TOTALCMD#BAR#DATA:
D:\dshell\SOFT\MEDIA\WINAMP\winamp.exe
%p%S
D:\dshell\SOFT\MEDIA\WINAMP\winamp.exe
winamp
D:\dshell\SOFT\MEDIA\WINAMP\

-1

(пути поставить свои).

Однако, следует учитывать следующее: максимальная длина командной строки ограничена (она различна в разных версиях Windows), к тому же сам Winamp может "отсекать" слишком длинные командные строки.

Павел Дубровский

A: Существует удобная специально для этого предназначенная утилита СhooseMediaPlayer. Уже упомянутый плагин TWinAmp был доработан и ныне также весьма удобен в использовании.

Автор неизвестен