download_latest.bat
— это скрипт для автоматического скачивания последних релизов программ с GitHub по заданным шаблонам. Он использует GitHub CLI (gh
) и SQLite для хранения и управления списком репозиториев и шаблонов загрузки. Этот инструмент полезен для автоматизации обновлений, особенно когда необходимо загружать последнюю версию релизов для определённых платформ или конфигураций, таких как win-x64
, portable
, и т.д.
При переустановке Windows нужно закачать нужный софт с разых сайтов. Этот инструмент поможет автоматизировать этот процесс. Просто внесите данные о репозиториях в базу данных и скрипт сам скачает последние релизы любимых программ.
- Скачивание релизов с GitHub по шаблонам (
pattern
) с использованием CLI командыgh release download
. - Использование базы данных SQLite для хранения списка репозиториев и шаблонов для различных программ.
- Автоматическое создание каталогов для загрузки, если они отсутствуют.
- Простое добавление новых репозиториев для автоматического обновления через SQLite.
-
GitHub CLI (gh) — Убедитесь, что GitHub CLI установлен и авторизован:
gh auth login
Скачайте и установите GitHub CLI, если он отсутствует: GitHub CLI.
-
SQLite — Убедитесь, что SQLite доступен из командной строки. Скачайте и установите SQLite, если необходимо: SQLite.
Создайте базу данных repositories.db
и инициализируйте таблицу repos
для хранения списка репозиториев. Для этого выполните следующий SQL-код, сохранив его в файле create_db.sql
и запустив:
CREATE TABLE IF NOT EXISTS repos (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
repo_url TEXT NOT NULL,
pattern TEXT NOT NULL,
download_dir TEXT NOT NULL DEFAULT 'C:\Downloads'
);
-- Пример добавления данных в таблицу
INSERT INTO repos (name, repo_url, pattern) VALUES
('TeXstudio', 'texstudio-org/texstudio', '*win-portable-qt6.zip'),
('PowerShell', 'PowerShell/PowerShell', '*win-x64.zip'),
('yt-dlp', 'yt-dlp/yt-dlp', '*win64.zip');
Создайте базу и заполните её данными:
sqlite3 repositories.db < create_db.sql
Рекомендуется включить UTF-8 в консоли Windows, чтобы избежать проблем с отображением символов:
- Откройте Панель управления → Часы и регион → Региональные параметры.
- На вкладке Административные параметры поставьте галочку на Использовать Unicode UTF-8 для поддержки языков во всем мире и перезагрузите компьютер.
- Поместите
download_latest.bat
иrepositories.db
в одну директорию. - Запустите
download_latest.bat
для автоматического скачивания последней версии релизов для всех программ, указанных в базе данных.
Скрипт выполнит следующие шаги для каждого репозитория:
- Считает параметры из базы данных SQLite.
- Сформирует и выполнит команду
gh release download
с шаблономpattern
и каталогом загрузкиdownload_dir
. - В случае успешной загрузки файл появится в указанном каталоге.
Чтобы добавить новые репозитории или обновить шаблоны, используйте SQLite команду:
INSERT INTO repos (name, repo_url, pattern, download_dir)
VALUES ('Название программы', 'владелец/репозиторий', 'шаблон_файла', 'директория_для_загрузки');
Например, для добавления программы example-tool
с паттерном *win-x64.zip
в стандартный каталог:
INSERT INTO repos (name, repo_url, pattern)
VALUES ('ExampleTool', 'example-owner/example-tool', '*win-x64.zip');
При запуске download_latest.bat
, скрипт выведет информацию о каждом скачивании, например:
Загрузка последней версии для texstudio-org/texstudio с паттерном *win-portable-qt6.zip
Успешно загружено в C:\Downloads
Загрузка последней версии для yt-dlp/yt-dlp с паттерном *win64.zip
Успешно загружено в C:\Downloads
Этот проект распространяется под лицензией MIT. Пожалуйста, ознакомьтесь с файлом LICENSE для получения дополнительной информации.