2025-03-27 Roman Ermakov, r.ermakov@emg.fm
Скрипт упрощающий запись обязательных копий для Гостелерадиофонда ВГТРК
- Powershell 5
- ImgBurn.exe в папке со скриптом. Если скрипт не обнаружит эту программу, он скачает установщик с сайта ImgBurn.com. Пользователю нужно будет самостоятельно установить приложение и скопировать исполняемый файл в папку со скриптом.
Файл конфигурации config.json:
{
"paths": [
{
"station": "Европа Плюс",
"source": "\\\\SERVER1\\LOGGER\\26 Europa - FM",
"destination": "D:\\LOGGER\\Europa Plus",
"drive": "E:"
},
{
"station": "Радио 7",
"source": "\\\\SERVER2\\LOGGER\\28 Radio7 - FM",
"destination": "D:\\LOGGER\\Radio7",
"drive": "E:"
},
{
"station": "Дорожное Радио FM",
"source": "\\\\SERVER1\\LOGGER\\01 Dorognoe - FM",
"destination": "D:\\LOGGER\\Dorognoe FM",
"drive": "F:"
}
// },
// {
// "station": "Дорожное Радио Спутник",
// "source": "\\\\SERVER2\\LOGGER\\02 Dorognoe - SAT",
// "destination": "D:\\LOGGER\\Dorognoe SAT",
// "drive": "F:"
// }
]
}Значения полей:
station: название радиостанции.source: источник записей контроля эфира. Внутри этой папки ожидаются папки в формате YYYY-MM-DD с файлами в формате hh-mm-ss. Двойные обратные слэши обязательны.destination: в эту папку на локальном диске папки и файлы контроля эфира будут копироваться и разбираться на партии, помещающиеся на CD/DVD/BR. Двойные обратные слэши обязательны.drive: буква записывающего привода.
Врвменно запретить обработку каких-то станций можно закомментировав эти строки двойными прямыми слэшами. Не забывайте про синтаксис json.
- Скрипт считывает параметры из файла конфигурации
config.json. - При запуске скрипта без параметров он будет обрабатывать предыдущий месяц (т.е. если сегодня март 2025, то папки 2025-02-??). Для обработки конкретного месяца запустите скрипт с параметром
.\AudioLogBurner.ps1 -YearMonth 2024-10 - Скрипт копирует из источника папки за выбранный месяц.
Note
Если в папке назначения уже есть такие данные, повторно они не копируются.
- Скопированные папки и файлы за месяц разделяются на Партии (Batch) соответствующие заданному в переменной
$maxSize = 4.5GBобъёму диска. Измените переменную если будете писать на CD, DVD-DL или BluRay. Из контроля эфира за месяц в формате mp3/64kbps получается 4-5 DVD. - Папки разделяются на Партии следующим образом:
- Создаётся временная папка Batch_1, в неё переносятся папки с датами выбранного месяца так, чтобы сутки не переносились на другой диск (в другую Партию).
- Из получившейся папки Партии при помощи ImgBurn создаётся файл .ISO с именем радиостанции (
station), годом и месяцем, и номером Партии. - В папке с .ISO создаётся текстовый файл, в котором перечислено содержимое .ISO:
- После создания .ISO отобранные в Партию папки возвращаются (переносятся) обратно в папку назначения.
Содержимое Europa Plus_2025-02_Batch5:
Папка: 2025-02-25
- 00-00-00.mp3
- 00-12-00.mp3
- 00-24-00.mp3
- 00-36-00.mp3
- 00-48-00.mp3
- 01-00-00.mp3
- 01-12-00.mp3
- 01-24-00.mp3
- 23-36-00.mp3
- 23-48-00.mp3
Папка: 2025-02-26
- 00-00-00.mp3
- 00-12-00.mp3
и т.д.
Note
Если ISO уже есть, повторно он не создаётся.
- После этого .ISO при помощи ImgBurn в 2 экземплярах записывается на указанный в файле конфигурации дисковый привод с параметрами по умолчанию:
/COPIES 2 /MODE WRITE /WAITFORMEDIA /START /EJECT /VERIFY YES /CLOSE - Контроль эфира нескольких станций будет записан последовательно - два диска первой станции, два диска второй и т.д.
Tip
Вы можете использовать разные дисковыые приводы для разных станций.