108 lines
5.0 KiB
Batchfile
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
|