d:\Total Commander\BAR\Playlists.bar
Содержимое папки \Playlists (файлы *.m3u) в Playlists.bar
Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik
Содержимое папки \Playlists (файлы *.m3u) в Playlists.bar
В папке d:\Total Commander\SOFT\Winamp\Playlists\ постоянно появляются новые плейлисты. Чтобы так же постоянно не добавлять их в кнопку в виде меню "Playlists" ручками, необходимо автоматизировать.
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
vbs:
Код: Выделить всё
'===================================================================
' Создание панели TC, содержащей ссылки на m3u-файлы заданной папки
'===================================================================
Option Explicit
'========== Изменяемые параметры ===================================
Const FileExt = "m3u" 'Расширение обрабатываемых файлов
Const FileIcon = "%SystemRoot%\system32\shell32.dll" 'Файл иконок
Const NumIcon = 116 'Номер иконки в файле иконок
Const Folder = "d:\Total Commander\SOFT\Winamp\Playlists\" 'Обрабатываемая папка
Const Bar = "d:\Total Commander\BAR\Playlists.bar" 'Панель TC
'===================================================================
Dim FSO, WSH, F, Text, i
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
i = 4
For Each F In FSO.GetFolder(GetPath(Folder)).Files
If LCase(FSO.GetExtensionName(F.Path)) = LCase(FileExt) Then
i = i + 1
Text = Text & "button" & CStr(i) & "=" & FileIcon & "," & NumIcon & vbNewLine &_
"cmd" & CStr(i) & "=" & F.Path & vbNewLine &_
"iconic" & CStr(i) & "=0" & vbNewLine &_
"menu" & CStr(i) & "=" & FSO.GetBaseName(F.Path) & vbNewLine
End If
Next
Text = "[Buttonbar]" & vbNewLine &_
"Buttoncount=" & CStr(i) & vbNewLine &_
"button1=" & GetPath("%Commander_Path%\wcmicons.dll,15") & vbNewLine &_
"cmd1=" & GetPath("%Commander_Path%\default.bar") & vbNewLine &_
"iconic1=0" & vbNewLine &_
"button2=" & vbNewLine &_
"iconic2=0" & vbNewLine &_
"button3=" & GetPath("%Commander_Path%\wcmicons.dll") & vbNewLine &_
"cmd3=" & WScript.ScriptFullName & vbNewLine &_
"iconic3=0" & vbNewLine &_
"menu3=Обновить" & vbNewLine &_
"button4=" & vbNewLine &_
"iconic4=0" & vbNewLine &_
Text
FSO.OpenTextFile(GetPath(Bar), 2, True).Write Text
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit 0
Function GetPath(pPath)
GetPath = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings(pPath))
End Function
Последний раз редактировалось Batya Пт фев 12, 2010 13:36, всего редактировалось 1 раз.
Нет, я не сплю. Я просто медленно моргаю.
Всё радует, да только не создавалась бы "Стрелочка" с возвратом на default.bar, всё-таки у меня кнопка в виде меню, где
d:\Total Commander\BAR\Default.bar вовсе никчему.
А, всё! Как только я прописал реальный путь к default.bar
d:\Total Commander\BAR\Default.bar вовсе никчему.
А, всё! Как только я прописал реальный путь к default.bar
стрелочка исчезла из виду. Большое благодарю!d:\Total Commander\BAR\Default.bar
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Следующий вопрос по теме - привести к портабельности. Ведь здесь не просто изменить это
на это?
Или так оно и есть О_о (?)
Видимо нет...
Код: Выделить всё
Const Folder = "d:\Total Commander\SOFT\Winamp\Playlists\" 'Обрабатываемая папка
Const Bar = "d:\Total Commander\BAR\Playlists.bar" 'Панель TCКод: Выделить всё
Const Folder = "%COMMANDER_PATH%\SOFT\Winamp\Playlists\" 'Обрабатываемая папка
Const Bar = "%COMMANDER_PATH%\BAR\Playlists.bar" 'Панель TCВидимо нет...
Cцeнapий: d:\Total Commander\PLUGINS\vbs\123.vbs
Cтpoкa: 42
Cимвoл: 1
Oшибкa: Пyть нe нaйдeн
Кoд: 800A004C
Иcтoчник: Oшибкa выпoлнeния Microsoft VBScript
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
А теперь чуток усложнить, чтобы плейлисты открывались определенным плеером, допустим, этот
Возможно, чтобы при нажатии на "Обновить" (понимаю, это запуск скрипта) пути в кнопках были через %COMMANDER_PATH%, нежели "d:\Total Commander\"?
Код: Выделить всё
%COMMANDER_PATH%\SOFT\Winamp\winamp.exe "d:\Total Commander\SOFT\Winamp\Playlists\Вахмурка.m3u"«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Меняем строкуackep писал(а):А теперь чуток усложнить, чтобы плейлисты открывались определенным плеером, допустим, этот
Код:
%COMMANDER_PATH%\SOFT\Winamp\winamp.exe
Код: Выделить всё
"cmd" & CStr(i) & "=" & F.Path & vbNewLine &_Код: Выделить всё
"cmd" & CStr(i) & "= ""%COMMANDER_PATH%\SOFT\Winamp\winamp.exe"" """ & F.Path & """" & vbNewLine &_А зачем? Скрипт ведь всегда корректно поменяет при его запуске. Просто, например, для кнопки перехода на родительскую панель (та самая "Стрелочка") необходимо прописывать развернутый путь, иначе она будет отображаться.ackep писал(а):Возможно, чтобы при нажатии на "Обновить" (понимаю, это запуск скрипта) пути в кнопках были через %COMMANDER_PATH%, нежели "d:\Total Commander"?
Нет, я не сплю. Я просто медленно моргаю.
В твоем случае со скриптом, то да. В обычном случае у меня там кнопки-менюшки... "стрелочки" не отображаются, хотя %COMMANDER_PATH% повсюду.Batya писал(а):Просто, например, для кнопки перехода на родительскую панель (та самая "Стрелочка") необходимо прописывать развернутый путь, иначе она будет отображаться.
Ещё раз спасибо.
Фaйл нe нaйдeн!
Какая-то нелепая кавычка:)
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\SOFT\Winamp\winamp.exe" "D:\Total Commander\SOFT\Winamp\Playlists\1.m3u
%SystemRoot%\system32\shell32.dll,116
1
0
-1
«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Код: Выделить всё
'===================================================================
' Создание панели TC, содержащей ссылки на m3u-файлы заданной папки
'===================================================================
Option Explicit
'========== Изменяемые параметры ===================================
Const FileExt = "m3u" 'Расширение обрабатываемых файлов
Const FileIcon = "%COMMANDER_PATH%\SOFT\Winamp\winamp.exe" 'Файл иконок
Const NumIcon = 1 'Номер иконки в файле иконок
Const Folder = "%COMMANDER_PATH%\SOFT\Winamp\Playlists\" 'Обрабатываемая папка
Const Bar = "%COMMANDER_PATH%\BAR\Playlists.bar" 'Панель TC
'===================================================================
Dim FSO, WSH, F, Text, i
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSH = CreateObject("WScript.Shell")
i = 4
For Each F In FSO.GetFolder(GetPath(Folder)).Files
If LCase(FSO.GetExtensionName(F.Path)) = LCase(FileExt) Then
i = i + 1
Text = Text & "button" & CStr(i) & "=" & FileIcon & "," & NumIcon & vbNewLine &_
"cmd" & CStr(i) & "= ""%COMMANDER_PATH%\SOFT\Winamp\winamp.exe"" """ & F.Path & """" & vbNewLine &_
"iconic" & CStr(i) & "=0" & vbNewLine &_
"menu" & CStr(i) & "=" & FSO.GetBaseName(F.Path) & vbNewLine
End If
Next
Text = "[Buttonbar]" & vbNewLine &_
"Buttoncount=" & CStr(i) & vbNewLine &_
"button1=" & GetPath("%COMMANDER_PATH%\wcmicons.dll,15") & vbNewLine &_
"cmd1=" & GetPath("%COMMANDER_PATH%\BAR\default.bar") & vbNewLine &_
"iconic1=0" & vbNewLine &_
"button2=" & vbNewLine &_
"iconic2=0" & vbNewLine &_
"button3=" & GetPath("%COMMANDER_PATH%\ICO\refresh.ico") & vbNewLine &_
"cmd3=" & WScript.ScriptFullName & vbNewLine &_
"iconic3=0" & vbNewLine &_
"menu3=Обновить" & vbNewLine &_
"button4=" & vbNewLine &_
"iconic4=0" & vbNewLine &_
Text
FSO.OpenTextFile(GetPath(Bar), 2, True).Write Text
Set WSH = Nothing
Set FSO = Nothing
WScript.Quit 0
Function GetPath(pPath)
GetPath = FSO.GetAbsolutePathName(WSH.ExpandEnvironmentStrings(pPath))
End Function«Минимализм - это кратчайший путь бесконечного стремления к идеалу»
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
«Не бойся, что не знаешь, - бойся, что не учишься» Китайская пословица
Там нужна пара кавычекBatya писал(а):В конце строки кавычки не пропущены?!ackep писал(а):Какая-то нелепая кавычка
Код: Выделить всё
"cmd" & CStr(i) & "=""""%COMMANDER_PATH%\SOFT\Winamp\winamp.exe"" """ & F.Path & """""" & vbNewLine &_
Последний раз редактировалось Tol!k Сб фев 13, 2010 12:33, всего редактировалось 1 раз.
Сейчас сохранил в ручном режиме. Весьма странно нужная строка храниться в bar-файле.ackep писал(а):Перепробовал и так, и сяк, не могу обнаружить хитрую кавычку-шпиона.
Вообщем, нужно так:
Код: Выделить всё
"cmd" & CStr(i) & "=""""%COMMANDER_PATH%\SOFT\Winamp\winamp.exe"" """ & F.Path & vbNewLine &_Нет, я не сплю. Я просто медленно моргаю.