diff --git a/install.bat b/install.bat index f37d5ab..78b988f 100644 --- a/install.bat +++ b/install.bat @@ -1,40 +1,40 @@ @echo off -set "BAT_DIR=%~dp0" -set "BAT_PATH=%BAT_DIR%raskidator.bat" -set "REG_FILE=%BAT_DIR%install-context-menu.reg" +title Raskidator-3000 — установка контекстного меню -echo Создание install-context-menu.reg с путём: %BAT_PATH% +echo ======================================== +echo Установка контекстного меню +echo Raskidator-3000 +echo ======================================== +echo. +echo Путь к скрипту: %~dp0raskidator.bat echo. -:: Генерируем .reg через PowerShell (UTF-16 LE — правильная кодировка для реестра) -PowerShell -Command ^ - "$path='%BAT_PATH:\=\\\%';" ^ - "$c='Windows Registry Editor Version 5.00'+[char]13+[char]10+[char]13+[char]10;" ^ - "$c+='; Контекстное меню — правый клик в пустом месте папки'+[char]13+[char]10;" ^ - "$c+='[HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000]'+[char]13+[char]10;" ^ - "$c+='@=\"Raskidator-3000\"'+[char]13+[char]10;" ^ - "$c+='\"Icon\"=\"\"\"'+$path+'\"\",0\"'+[char]13+[char]10+[char]13+[char]10;" ^ - "$c+='[HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000\command]'+[char]13+[char]10;" ^ - "$c+='@=\"\"\"'+$path+'\"\" \"%V\"\"'+[char]13+[char]10+[char]13+[char]10;" ^ - "$c+='; Контекстное меню — правый клик на папке'+[char]13+[char]10;" ^ - "$c+='[HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000]'+[char]13+[char]10;" ^ - "$c+='@=\"Raskidator-3000\"'+[char]13+[char]10;" ^ - "$c+='\"Icon\"=\"\"\"'+$path+'\"\",0\"'+[char]13+[char]10+[char]13+[char]10;" ^ - "$c+='[HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000\command]'+[char]13+[char]10;" ^ - "$c+='@=\"\"\"'+$path+'\"\" \"%1\"\"'+[char]13+[char]10+[char]13+[char]10;" ^ - "$c+='; Библиотеки (Pictures, Music, Videos, Documents)'+[char]13+[char]10;" ^ - "$c+='[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000]'+[char]13+[char]10;" ^ - "$c+='@=\"Raskidator-3000\"'+[char]13+[char]10;" ^ - "$c+='\"Icon\"=\"\"\"'+$path+'\"\",0\"'+[char]13+[char]10+[char]13+[char]10;" ^ - "$c+='[HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000\command]'+[char]13+[char]10;" ^ - "$c+='@=\"\"\"'+$path+'\"\" \"%V\"\"'+[char]13+[char]10;" ^ - "Out-File -FilePath '%REG_FILE%' -InputObject $c -Encoding Unicode" +:: Directory\Background\shell — ПКМ в пустом месте папки +echo [1/3] Добавление в контекстное меню папок... +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 "%~dp0raskidator.bat,0" /f +reg add "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000\command" /ve /t REG_SZ /d "\"%~dp0raskidator.bat\" \"%%V\"" /f +echo [+] Directory\Background — готов +echo. +:: Directory\shell — ПКМ на папке +echo [2/3] Добавление в меню при клике на папке... +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 "%~dp0raskidator.bat,0" /f +reg add "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000\command" /ve /t REG_SZ /d "\"%~dp0raskidator.bat\" \"%%1\"" /f +echo [+] Directory\shell — готов echo. -echo Готово. Запусти install-context-menu.reg двойным кликом и подтверди добавление в реестр. + +:: LibraryFolder\Background — библиотеки (Pictures, Music...) +echo [3/3] Добавление в библиотеки (Pictures, Music, Video...)... +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 "%~dp0raskidator.bat,0" /f +reg add "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000\command" /ve /t REG_SZ /d "\"%~dp0raskidator.bat\" \"%%V\"" /f +echo [+] LibraryFolder\Background — готов echo. -echo Если ранее устанавливал — сначала удали старые ключи: -echo reg delete "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000" /f -echo reg delete "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000" /f -echo reg delete "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000" /f + +echo ======================================== +echo Установка завершена! +echo Нажми ПКМ в любой папке -^> Raskidator-3000 +echo ======================================== pause diff --git a/uninstall-context-menu.bat b/uninstall-context-menu.bat index 2755242..51ce8c7 100644 --- a/uninstall-context-menu.bat +++ b/uninstall-context-menu.bat @@ -1,18 +1,28 @@ @echo off -chcp 65001 >nul +title Raskidator-3000 — удаление контекстного меню -echo Удаление Raskidator-3000 из контекстного меню... +echo ======================================== +echo Удаление контекстного меню +echo Raskidator-3000 +echo ======================================== echo. +echo [1/3] Удаление из контекстного меню папок... reg delete "HKEY_CLASSES_ROOT\Directory\Background\shell\Raskidator3000" /f >nul 2>&1 -if %errorlevel% equ 0 (echo [+] Directory\Background - удалён) else (echo [—] Directory\Background - не найден) - -reg delete "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000" /f >nul 2>&1 -if %errorlevel% equ 0 (echo [+] Directory\shell - удалён) else (echo [—] Directory\shell - не найден) - -reg delete "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000" /f >nul 2>&1 -if %errorlevel% equ 0 (echo [+] LibraryFolder\Background - удалён) else (echo [—] LibraryFolder\Background - не найден) - +if %errorlevel% equ 0 (echo [+] Directory\Background — удалён) else (echo [—] Directory\Background — не найден) echo. -echo Готово. + +echo [2/3] Удаление из меню при клике на папке... +reg delete "HKEY_CLASSES_ROOT\Directory\shell\Raskidator3000" /f >nul 2>&1 +if %errorlevel% equ 0 (echo [+] Directory\shell — удалён) else (echo [—] Directory\shell — не найден) +echo. + +echo [3/3] Удаление из библиотек (Pictures, Music, Video...)... +reg delete "HKEY_CLASSES_ROOT\LibraryFolder\Background\shell\Raskidator3000" /f >nul 2>&1 +if %errorlevel% equ 0 (echo [+] LibraryFolder\Background — удалён) else (echo [—] LibraryFolder\Background — не найден) +echo. + +echo ======================================== +echo Удаление завершено! +echo ======================================== pause