72 lines
2.0 KiB
Batchfile
72 lines
2.0 KiB
Batchfile
@echo off
|
||
chcp 65001 >nul
|
||
title Raskidator-3000
|
||
|
||
echo ========================================
|
||
echo Raskidator-3000 — сортировка фотографий
|
||
echo ========================================
|
||
echo.
|
||
|
||
:: Определяем режим (--dry-run или обычный)
|
||
set "DRY="
|
||
if /i "%~1"=="--dry-run" (
|
||
set "DRY=--dry-run"
|
||
shift
|
||
)
|
||
|
||
:: Определяем папку, которую обрабатываем
|
||
if "%~1"=="" (
|
||
set "TARGET=%CD%"
|
||
) else (
|
||
set "TARGET=%~1"
|
||
)
|
||
|
||
echo Папка: %TARGET%
|
||
if not "%DRY%"=="" echo Режим: ПРОБНЫЙ (dry-run)
|
||
echo.
|
||
|
||
:: Проверяем, существует ли скрипт
|
||
set "SCRIPT=%~dp0organize.py"
|
||
if exist "%SCRIPT%" goto :found
|
||
|
||
:: Fallback: если %~dp0 вернула неверный путь (контекстное меню),
|
||
:: ищем organize.py в той же папке, где лежит сам батник
|
||
set "SCRIPT=%~f0"
|
||
call :getdir "%SCRIPT%" SCRIPTDIR
|
||
set "SCRIPT=%SCRIPTDIR%organize.py"
|
||
if exist "%SCRIPT%" goto :found
|
||
|
||
:: Совсем не нашли
|
||
echo [ОШИБКА] Не найден organize.py рядом с батником.
|
||
echo Ожидаемый путь: %SCRIPT%
|
||
goto :end
|
||
|
||
:found
|
||
|
||
:: Пробуем python (наиболее распространён)
|
||
python "%SCRIPT%" %DRY% "%TARGET%"
|
||
if %errorlevel% equ 0 goto :end
|
||
|
||
:: Если python не сработал — пробуем py -3 (Python Launcher)
|
||
py -3 "%SCRIPT%" %DRY% "%TARGET%"
|
||
if %errorlevel% equ 0 goto :end
|
||
|
||
:: Если оба не сработали
|
||
echo.
|
||
echo [ОШИБКА] Python не найден. Установи Python с python.org
|
||
echo Убедись, что при установке отмечено "Add Python to PATH".
|
||
echo.
|
||
echo Проверь в командной строке: python --version
|
||
|
||
:end
|
||
echo.
|
||
echo ========================================
|
||
echo Нажми любую клавишу для выхода...
|
||
pause >nul
|
||
exit /b
|
||
|
||
:: Извлекает директорию из полного пути
|
||
:getdir
|
||
set "%2=%~dp1"
|
||
exit /b
|