Po pierwsze, chciałbym poradzić ci, aby dokładnie sprawdzić lokalizacje kluczy uruchamiania w rejestrze dla każdego systemu operacyjnego starszego niż Vista, ponieważ minęło dużo czasu, odkąd nad nimi pracowałem, więc mogą istnieć różnice, których nie pamiętam.
Jeśli dobrze rozumiem twoje pytanie, ten skrypt wsadowy powinien zrobić to, co chcesz. Daje ci proste menu do wyboru, aby dodać lub usunąć program z klawiszy uruchamiania (uruchamiania), a następnie pozwala wprowadzić nazwę i ścieżkę programu do pliku wykonywalnego.
: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
Alternatywnie, jeśli po prostu musisz mieć możliwość dodania lub usunięcia tego samego programu i nie musisz wpisywać wielu nazw programów lub ścieżek exe, możesz zmodyfikować skrypt w ten sposób i zastąpić% keyname% nazwą programu, a % expath% ze ścieżką do pliku wykonywalnego (bez%), a następnie zapisz go. Upewnij się, że nazwa klucza jest taka sama zarówno w przypadku dodawania, jak i usuwania.
Możesz także zamienić linie „goto start” na „exit”, jeśli chcesz wyjść ze skryptu po wybranej akcji.
: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