4

У меня есть несколько файлов bat, созданных для записи моих любимых аудиопотоков, но я бы хотел включить даты в выходной файл.

Есть ли способ включить дату в имя выходного файла с кодом ниже?

Я хотел бы, чтобы файл показывал формат, подобный этому wzakfrimix-Jan 01 2016.mp3 или что-то достаточно близкое.

"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe" "http://208.46.117.156:80/7/648/72151/v1...et/wzak-fm" :sout=#transcode{vcodec=none,acodec=mp3,ab=128,channels=2,samplerate=44100}:file{dst="X:\WzakFriMix.mp3",no-overwrite}:sout-keep

1 ответ1

3

Добавление метки даты в записанные потоки 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .