@echo off chcp 65001 >nul title Raskidator-3000 — Install context menu :: Определяем абсолютный путь к папке где лежит install.bat :: (там же лежат raskidator.bat и organize.py) set "BAT_DIR=%~dp0" set "BAT_DIR=%BAT_DIR:~0,-1%" echo ======================================== echo Install context menu echo Raskidator-3000 echo ======================================== echo. echo Repo path: %BAT_DIR% echo. set "BAT_PATH=%BAT_DIR%\raskidator.bat" set "ICON=%BAT_DIR%\raskidator.bat,0" :: ── 1. Папки (правая кнопка на папке) ───────────────────────────── echo [1/4] Folder context menu... :: Обычный запуск reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000" /ve /t REG_SZ /d "Raskidator-3000" /f reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" \"%%V\"" /f reg add "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000" /ve /t REG_SZ /d "Raskidator-3000" /f reg add "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" \"%%1\"" /f reg add "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000" /ve /t REG_SZ /d "Raskidator-3000" /f reg add "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" \"%%V\"" /f :: Пробный запуск (dry-run) reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000DryRun" /ve /t REG_SZ /d "Raskidator-3000 (dry-run)" /f reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000DryRun" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000DryRun\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" --dry-run \"%%V\"" /f reg add "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000DryRun" /ve /t REG_SZ /d "Raskidator-3000 (dry-run)" /f reg add "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000DryRun" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000DryRun\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" --dry-run \"%%1\"" /f reg add "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000DryRun" /ve /t REG_SZ /d "Raskidator-3000 (dry-run)" /f reg add "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000DryRun" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000DryRun\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" --dry-run \"%%V\"" /f echo [+] Folder context menu — done echo. :: ── 2. Файлы (правая кнопка на 1 файле) ────────────────────────── echo [2/4] File context menu... reg add "HKEY_CLASSES_ROOT\*\shell\Raskidator3000" /ve /t REG_SZ /d "Raskidator-3000" /f reg add "HKEY_CLASSES_ROOT\*\shell\Raskidator3000" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\*\shell\Raskidator3000\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" --selected \"%%1\"" /f reg add "HKEY_CLASSES_ROOT\*\shell\Raskidator3000DryRun" /ve /t REG_SZ /d "Raskidator-3000 (dry-run)" /f reg add "HKEY_CLASSES_ROOT\*\shell\Raskidator3000DryRun" /v Icon /t REG_SZ /d "%ICON%" /f reg add "HKEY_CLASSES_ROOT\*\shell\Raskidator3000DryRun\command" /ve /t REG_SZ /d "\"%BAT_PATH%\" --selected --dry-run \"%%1\"" /f echo [+] File context menu — done echo. :: ── 3. SendTo (несколько выделенных файлов) ────────────────────── echo [3/4] SendTo (multi-file).. set "SENDTO=%APPDATA%\Microsoft\Windows\SendTo" :: Основной del "%SENDTO%\Raskidator-3000.bat" 2>nul > "%SENDTO%\Raskidator-3000.bat" ( echo @echo off echo chcp 65001 ^>nul echo call "%BAT_PATH%" --selected %%* ) :: Пробный (dry-run) del "%SENDTO%\Raskidator-3000 (dry-run).bat" 2>nul > "%SENDTO%\Raskidator-3000 (dry-run).bat" ( echo @echo off echo chcp 65001 ^>nul echo call "%BAT_PATH%" --selected --dry-run %%* ) echo [+] SendTo — done echo. :: ── 4. Удаление старых версий ────────────────────────────────────── echo [4/4] Cleaning up old entries... reg delete "HKEY_CLASSES_ROOT\*\shell\Raskidator3000" /f >nul 2>&1 reg delete "HKEY_CLASSES_ROOT\*\shell\Raskidator3000DryRun" /f >nul 2>&1 echo [+] Cleanup — done echo. echo ======================================== echo Installation complete! echo. echo ПКМ на папке — Raskidator-3000 echo ПКМ на файле — Raskidator-3000 echo Отправить ^> файлы — Raskidator-3000 (любое кол-во) echo ======================================== pause