Flasher
|
Posted: Fri Aug 30, 2019 21:08 Post subject: |
|
|
KarS
Пож-та.
Счётчик через кнопку, наверно, не выйдет. VBS устроит?
Code: | '================================= VBS =================================
' Конвертация выбранных FLAC в MP3 c добавкой счётчика при необходимости
' Параметры: %WL "<путь получателя>" "<ключи LAME>"
' Пример: %WL "%P" "-b 320 -q 0 -m j --noreplaygain"
Option Explicit: Dim A, WSS, List, F, Ext, PF, BN, c, FN
'========================= Путь к утилите flac =========================
Const FLAC = """%COMMANDER_PATH%\Utils\Converters\Audio\FLAC\flac.exe"""
'========================= Путь к утилите lame =========================
Const LAME = """%COMMANDER_PATH%\Utils\Converters\Audio\LAME\lame.exe"""
'=======================================================================
Set A = WSH.Arguments : If A.Count = 0 Then WSH.Quit
If A.Count <> 3 Then MsgBox "Укажите 3 параметра!", 4144 : WSH.Quit
Set WSS = CreateObject("WScript.Shell")
With CreateObject("Scripting.FileSystemObject")
Set List = .OpenTextFile(A(0),,,-1)
PF = .BuildPath(A(1), "\")
Do: F = List.ReadLine
If Right(F, 1) <> "\" Then
Ext = .GetExtensionName(F)
If StrComp(Ext, "flac", 1) = 0 Then
BN = .GetBaseName(F) : FN = BN & ".mp3" : c = 0
While (.FileExists(PF & FN) OR .FolderExists(PF & FN))
c = c + 1 : FN = BN & " (" & c & ").mp3"
Wend
WSS.Run "%ComSpec% /q/c """ & FLAC & " -cds """ & F & """|" &_
LAME & " --quiet " & A(2) & " - """ & A(1) & FN & """""", 0, 1
End If
End If
Loop Until List.AtEndOfStream
End With
List.Close : Set List = Nothing
WSS.Popup "Конвертация завершена!", 2, " Конвертация FLAC в MP3", 4160
Set WSS = Nothing | Если в конце 29-ой строки убрать ', 1', будет асинхронный запуск, но тогда ЦП забъётся. _________________ Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Last edited by Flasher on Fri Sep 06, 2019 01:36; edited 1 time in total |
|