📄 lame.vbs
字号:
' lame.vbs WindowsScript wrapper v0.5, 06/15/2001' $id$'' *Purpose*' Use this WindowsScript to encode WAVs using drag&drop:' 0. make sure you have windows script host v5.1 on your system' (enter 'cscript' in a DOS-Box and compare version number)' 1. adjust the path settings below to fit your needs' 2a. put this file somewhere on the desktop' 3a. drag one or more wav-files on the icon and watch them being lamed.'' 2b. start->execute, enter "sendto", drag the script or a link to it in' sendto window (adjust names and icon as you like)' 3b. select wave-file(s) and send it via the send-to menu to LAME!'' You may wish to create copies of this file with different options set.'' If you would like a GUI: try to enable the HTML UI (see below)'' Ralf Kempkens, ralf.kempkens@epost.de''' *History*' V0.5 * lame.vbs will automatically decode if the file has a .mp3 extension' * now explicitly refuses to accept folders' V0.4 * creates single .mp3 extensions, now ID3 options in HTML interface' V0.3 * fixed bug that prevented lame.exe to be located in a path that ' contained a space' * experimental HTML UI support (disabled by default)' V0.2 added multiple file support' V0.1 initial release' *** change path to your needs *** path = "D:\Audio\Lame\Lame386\" '!!! must end with a backslash !!! lame = "lame.exe"' *** change default options to your needs *** opts = "--preset hifi"' *** HTML GUI (experimental) *** useGUI = False' it set to True, opens file lameGUI.html residing in the same path as lame.exe' to choose options. Please look at the example HTML-file for further information.' no changes needed below this line' ##########################################################################Dim wsh, args, infile, fstitle="LAME Script"' get input filesSet wsh = WScript.CreateObject("WScript.Shell")Set args = WScript.ArgumentsIf args.Count = 0 Then MsgBox "LAME mp3 encoder/decoder frontend script." & vbCR & _ "Please use drag & drop to specify input files.", vbInformation, title WScript.QuitEnd If' check pathSet fso = CreateObject("Scripting.FileSystemObject")If Not fso.FileExists(path & lame) Then MsgBox "Could not find LAME!" & vbCR & "(looked for '" & path & lame & "')", vbCritical, title WScript.QuitEnd If' start GUIif useGUI Then set ie=WScript.CreateObject("InternetExplorer.Application", "ie_") ie.navigate(path & "lameGUI.html") do WScript.Sleep 100 loop until ie.ReadyState=4 'wait for GUI ie.Width=640 ie.Height=600 ie.Toolbar=false ie.Statusbar=false ie.visible=true 'link to GUI set document=ie.document document.forms.lameform.okbutton.onClick=GetRef("okbutton") 'wait for user pressing ok... do WScript.Sleep 300 loop until processend if'process filesFor i = 0 To args.Count-1 infile = args(i) ' check input file If fso.FolderExists(infile) Then MsgBox "'" & infile & "' is a folder!" & vbCR & _ title & " only handles proper files.", vbInformation, title Else If Not fso.FileExists(infile) Then MsgBox "Error opening input-file" & vbCR & "'" & infile & "'", vbCritical , title Else ' run lame If(LCase(getExtension(infile))="mp3") Then 'decode ret = wsh.Run(Chr(34) & path & lame & CHR(34) & " --decode " & _ Chr(34) & infile & Chr(34) & Chr(32) & Chr(34) & _ getBasename(infile) & ".wav" & Chr(34), 1, True) Else ' encode ret = wsh.Run(Chr(34) & path & lame & CHR(34) & Chr(32) & opts & Chr(32) & _ Chr(34) & infile & Chr(34) & Chr(32) & Chr(34) & _ getBasename(infile) & ".mp3" & Chr(34), 1, True) End If ' diagnostics Select Case ret Case (0) 'okeydokey Case (-1) MsgBox "LAME aborted by user!", vbExclamation, title Case (1) MsgBox "Error returned by LAME!" & vbCR & "(Check LAME options and input file formats.)" & vbCR & "Used Options: " & opts, vbCritical, title Case Else MsgBox "Received unknown LAME return-code: " & ret, vbCritical, title End Select End If End IfNextWScript.Quit' *******************************************************************' utility functionsFunction getBasename(filespec) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile(filespec) getBasename = f.ParentFolder & "\" & fso.GetBaseName(filespec)End FunctionFunction getExtension(filespec) Dim fso Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile(filespec) getExtension = fso.GetExtensionName(filespec) End Function' *******************************************************************' manage link to IE HTML-interfacesub okbutton 'process inputs opts=document.all.lameoptions.Value ie.Quit MsgBox "LAME options:" & vbCR & opts, vbInformation, titleend subsub ie_onQuit process=Trueend sub'eof
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -