diff --git a/utilities/win/convert.bat b/utilities/win/convert.bat new file mode 100644 index 0000000..8ea448a --- /dev/null +++ b/utilities/win/convert.bat @@ -0,0 +1,114 @@ +@echo off +setlocal enabledelayedexpansion +chcp 65001 > NUL + +REM Проверка Python 3 +:CheckPython +python --version 2>NUL | findstr /I "Python 3" >NUL +if ERRORLEVEL 1 ( + echo Python 3 не установлен. + choice /C YN /M "Установить?" + if ERRORLEVEL 2 ( + echo Без Python 3 ничего не получится... + pause + exit /b 1 + ) else ( + call :InstallPython + ) +) else ( + echo Python 3 установлен. +) +goto :CheckModules + +REM Инсталляция Python 3 +:InstallPython +echo Загрузка дистрибутива... +powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -OutFile 'python_installer.exe'} else {Start-BitsTransfer -Source 'https://www.python.org/ftp/python/3.12.5/python-3.12.5-amd64.exe' -Destination 'python_installer.exe'}" + +REM Проверяем успешность загрузки +if not exist "python_installer.exe" ( + echo Ошибка загрузки установщика Python 3. + pause + exit /b 1 +) + +REM Установка Python 3 +echo Установка... +echo PS - не забудьте ее разрешить в соседнем окне +python_installer.exe /quiet InstallAllUsers=1 PrependPath=1 +del /q /f python_installer.exe + +REM Оповещение о перезапуске +echo. +echo Установка завершена, но требуется обновить окружение. +echo - закройте это окно и запустите скрипт снова. +pause +exit /b 0 + +REM Проверка и установка необходимых модулей Python +:CheckModules +set "modules=requests dnspython ipaddress configparser httpx colorama" +echo. +echo Проверка необходимых библиотек... + +for %%m in (%modules%) do ( + pip show %%m >NUL 2>&1 + if ERRORLEVEL 1 ( + echo Установка библиотеки %%m... + pip install %%m + if ERRORLEVEL 1 ( + echo Не удалось установить библиотеку %%m. Проверьте pip. + exit /b 1 + ) + ) +) + +goto :DownloadMain + +REM Загрузка и запуск convert.py +:DownloadMain +echo Загрузка Domain Mapper Converter... +powershell -Command "if ($PSVersionTable.PSVersion.Major -ge 3) {Invoke-WebRequest -Uri 'https://github.com/Ground-Zerro/DomainMapper/raw/refs/heads/main/utilities/convert.py' -OutFile 'convert.py'} else {Start-BitsTransfer -Source 'https://raw.githubusercontent.com/Ground-Zerro/DomainMapper/main/utilities/convert.py' -Destination 'convert.py'}" + +if not exist "convert.py" ( + echo Ошибка загрузки Domain Mapper Converter. + pause + exit /b 1 +) + +if not exist "ip.txt" ( + echo. + echo Файл ip.txt не найден. + echo Создайте файл ip.txt в текущей директории и добавьте в него IP-адреса. + echo. + choice /C YN /M "Создать пустой файл ip.txt сейчас?" + if ERRORLEVEL 2 ( + echo Завершение работы. + del /q /f convert.py + pause + exit /b 1 + ) else ( + echo. > ip.txt + echo Файл ip.txt создан. Добавьте в него IP-адреса и запустите скрипт снова. + del /q /f convert.py + pause + exit /b 0 + ) +) + +cls +echo Запускаем... +python convert.py +if ERRORLEVEL 1 ( + echo Ошибка выполнения convert.py. + pause + del /q /f convert.py + exit /b 1 +) + +echo Программа завершена. +del /q /f convert.py +endlocal +pause +exit /b 0 +