Добавление метки даты в записанные потоки VLC
У меня есть несколько файлов bat, созданных для записи моих любимых аудиопотоков, но я бы хотел включить даты в выходной файл.
Есть ли способ включить дату в имя выходного файла для кода ниже? Для примера я хотел бы, чтобы файл показывал формат, подобный этому "wzakfrimix-Jan 01 2016.mp3"
Посмотрите, выполнит ли это одно из приведенных ниже действий, как и ожидалось, при условии, что ваши любимые URL-адреса потоков могут быть подключены в виде массива на отдельных строках и вкладок, как указано в примечаниях к сценарию ниже, а также в [первом] верхнем примере.
Самый верхний сценарий повторяет ваши любимые пути потока URL (массив настолько большой или настолько маленький, насколько вам нужно) в цикле. В противном случае (возможно, как вы делаете это сейчас с несколькими пакетными файлами) вы можете просто жестко закодировать переменные «Имя месяца», «Номер дня месяца» и «Год» в имя файла назначения вручную (пример ниже).
Опять же, два варианта ниже, которые могут быть достаточными для ваших нужд, но я установил некоторые переменные логики сценария в верхней части каждого примера.
ЗАПИСИ
Это настройки для запуска в виде пакетных сценариев, а не вручную из командной строки с копированием и вставкой; в противном случае, я должен был бы добавить примеры для того, чтобы сделать это, что было также.
Изображение ниже - это верхний пример сценария, где каждый путь http://~
должен быть допустимым и предположительно отличаться для каждой строки. Удалите ненужные строки или добавьте другие, если это необходимо, но у всех должны быть допустимые пути для загрузки файла, который вы собираетесь записать в файл MP3.
Примеры пакетных скриптов
Со списком URL для ваших потоков (в виде пакетного скрипта)
@ECHO ON
SET VLC=C:\Program Files (x86)\VideoLAN\VLC\vlc.exe
SET MM=%DATE:~4,2%
SET YYYY=%DATE:~10,4%
SET DD=%DATE:~7,2%
:VBSDynamicBuild
SET TempVBSFile=%tmp%\~tmpMnthTemp.vbs
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO WScript.Echo(MonthName(%MM%,True))>>"%TempVBSFile%"
FOR /F %%A IN ('CSCRIPT //nologo "%TempVBSFile%"') DO SET Mmm=%%~A
:VLCStreamURLs
FOR %%B IN (
"http://208.46.117.156/7/648/72151/v1/interactive.akacast.akamaistream.net/wzak-fm"
"<http://ValidPath2/~>"
"<http://ValidPath3/~>"
"<http://ValidPath4/~>
"<http://ValidPath5/~>"
"<http://ValidPath6/~>"
"<http://ValidPath7/~>"
) DO (
"%VLC%" "%%~B" :sout=#transcode{vcodec=none,acodec=mp3,ab=128,channels=2,samplerate=44100}::file{dst="X:\%%~NB-%Mmm% %DD% %YYYY%%%~XB",no-overwrite} :sout-keep
)
GOTO EOF
Один URL на пакетный скрипт (может быть похоже на то, как вы это делаете сейчас)
@ECHO ON
SET VLC=C:\Program Files (x86)\VideoLAN\VLC\vlc.exe
SET MM=%DATE:~4,2%
SET YYYY=%DATE:~10,4%
SET DD=%DATE:~7,2%
:VBSDynamicBuild
SET TempVBSFile=%tmp%\~tmpMnthTemp.vbs
IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%"
ECHO WScript.Echo(MonthName(%MM%,True))>>"%TempVBSFile%"
FOR /F %%A IN ('CSCRIPT //nologo "%TempVBSFile%"') DO SET Mmm=%%~A
:VLCStreamURL
"%VLC%" "http://208.46.117.156/7/648/72151/v1/interactive.akacast.akamaistream.net/wzak-fm" :sout=#transcode{vcodec=none,acodec=mp3,ab=128,channels=2,samplerate=44100}::file{dst="D:\wzakfrimix-%Mmm% %DD% %YYYY%.mp3",no-overwrite} :sout-keep
GOTO EOF