Files
Raskidator-3000/install.bat
T

108 lines
5.0 KiB
Batchfile

@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