-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathupdate_project.cmd
70 lines (53 loc) · 2.91 KB
/
update_project.cmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: Задание URL для актуальной версии на GitHub
set github_version_url=https://raw.githubusercontent.com/YanGusik/FuckDiscordPI/main/version.txt
:: Путь к локальному файлу версии в проекте
set local_version_file=%~dp0version.txt
:: Временный файл для загрузки актуальной версии с GitHub
set temp_version_file=%temp%\github_version.txt
:: Папка, в которую будет распакован новый архив
set project_folder=%~dp0
:: Папка для временного скачивания ZIP архива
set temp_zip_file=%temp%\project_update.zip
:: Проверка наличия утилиты curl
where curl >nul 2>nul
if %errorlevel% neq 0 (
echo Ошибка: Утилита curl не установлена!
exit /b
)
:: Скачиваем актуальную версию с GitHub в temp файл
echo Скачиваю актуальную версию с GitHub...
curl -s %github_version_url% -o %temp_version_file%
:: Проверяем, существует ли локальный файл версии
if not exist "%local_version_file%" (
echo Ошибка: файл version.txt не найден в локальном проекте!
exit /b
)
:: Читаем локальную и актуальную версии
set /p local_version=<%local_version_file%
set /p github_version=<%temp_version_file%
:: Сравниваем версии
echo Локальная версия: !local_version!
echo Актуальная версия: !github_version!
if "!local_version!" neq "!github_version!" (
echo Версии не совпадают! Обновление проекта...
:: Скачиваем архив с последней версией проекта с GitHub
echo Скачиваю архив с последней версией...
curl -L -o %temp_zip_file% https://github.com/YanGusik/FuckDiscordPI/archive/refs/heads/main.zip
:: Распаковываем архив в папку проекта, исключая лишнюю вложенную папку
echo Распаковываю обновление...
powershell -Command "Expand-Archive -Path '%temp_zip_file%' -DestinationPath '%temp%\update_folder'"
:: Перемещаем файлы из распакованного архива в папку проекта
echo Перемещаем файлы в папку проекта...
xcopy /E /I /Y "%temp%\update_folder\FuckDiscordPI-main\*" "%project_folder%"
:: Удаляем временную папку и файлы
rmdir /S /Q "%temp%\update_folder"
del "%temp_version_file%"
del "%temp_zip_file%"
echo Обновление завершено!
) else (
echo Версии совпадают! Обновление не требуется.
)
pause