Во-первых, я хотел бы посоветовать вам дважды проверить расположение ключей запуска в реестре для любой операционной системы старше Vista, так как с тех пор, как я работал над ними, прошло много времени, поэтому могут быть различия, которые я не помню.
Если я правильно понимаю ваш вопрос, этот пакетный скрипт должен делать то, что вы хотите. Это дает вам простое меню для выбора добавления или удаления программы из клавиш запуска (автозагрузка), а затем позволяет ввести имя программы и путь к исполняемому файлу.
:begin
cls
@echo off
echo Program startup Utility
echo.
echo 1. Add Program to Startup
echo 2. Remove Program From Startup
echo x. Exit
set /p choice= Choose A Service:
if not '%choice%'== set %choice%=choice:~0,1%
if '%choice%'=='1' goto :addstartup
if '%choice%'=='2' goto :delstartup
if '%choice%'=='x' goto :exit
:addstartup
cls
echo/
echo/
echo Add Program to Startup
echo or type back to go to main menu
echo/
set /p keyname= Please State Program Name:
if '%keyname%'=='back' goto :begin
set /p expath= Please Enter Path to Executible:
if '%expath%'=='back' goto :begin
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ /v %keyname% /t REG_SZ /d "%expath%"
timeout /t 3 >nul
goto begin
:delstartup
cls
echo/
echo Remove Program From Startup
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ /s
echo/
set /p keyname= Please Enter Program Name:
reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ /v "%keyname%" /f
timeout /t 3 >nul
goto begin
В качестве альтернативы, если вам просто нужно иметь возможность добавлять или удалять одну и ту же программу и вам не нужно вводить несколько имен программ или пути exe, то вы можете изменить скрипт таким образом, и заменить% keyname% на имя вашей программы, и % expath% с путем к вашему исполняемому файлу (без%) и затем сохраните его. Убедитесь, что ваше имя ключа одинаково при добавлении и удалении.
Вы также можете поменять строки "goto begin" на "exit", если хотите просто выйти из сценария после выбранного действия.
:begin
cls
@echo off
echo Program startup Utility
echo.
echo 1. Add Program to Startup
echo 2. Remove Program From Startup
echo x. Exit
set /p choice= Choose A Service:
if not '%choice%'== set %choice%=choice:~0,1%
if '%choice%'=='1' goto :addstartup
if '%choice%'=='2' goto :delstartup
if '%choice%'=='x' goto :exit
:addstartup
cls
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ /v %keyname% /t REG_SZ /d "%expath%"
timeout /t 2 >nul
goto begin
:delstartup
cls
reg delete HKLM\Software\Microsoft\Windows\CurrentVersion\Run\ /v "%keyname%" /f
timeout /t 2 >nul
goto begin