você pode iniciar um programa na inicialização do Windows usando o arquivo bat e enviá-lo caminho do arquivo

2

pode um arquivo bat ou vbs pegar um argumento (um caminho para um arquivo exe) em seguida, crie um atalho para esse arquivo e coloque na pasta de inicialização ou adicionar uma entrada de registro para executar o exe na inicialização do Windows

mas eu quero que o mesmo script seja capaz de remover a entrada de inicialização (em todas as versões do sistema operacional).

então presumo que o script precisaria ser enviado para dois parâmetros / argumentos: 1 - o arquivo / exe para ser executado na inicialização 2 - adicionar ou remover a entrada da inicialização

Isso é possível?

    
por user2899094 02.02.2016 / 04:19

1 resposta

2

Primeiro eu gostaria de aconselhá-lo a checar os locais das chaves de execução no registro para qualquer sistema operacional mais antigo que o vista, já que faz muito tempo desde que eu trabalhei neles, então pode haver diferenças que eu não faço. Lembre-se.

Se eu estou entendendo sua pergunta corretamente, este script em lote deve fazer o que você quer. Ele te dá um menu simples para escolher adicionar ou remover um programa das teclas de execução (startup), e então deixa você colocar no programa nome e caminho para o executável.

: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

Como alternativa, se você precisar apenas adicionar ou remover o mesmo programa e não precisar inserir vários nomes de programa ou caminhos exe, poderá modificar o script dessa forma e substituir% keyname% por seu programa. name, e% expath% com o caminho para o seu executável (sem os% 's) e, em seguida, salve-o. Certifique-se de que seu nome-chave seja o mesmo em adicionar e remover.

Você também pode trocar as linhas "goto begin" por "exit" se quiser apenas sair do script após a ação selecionada.

: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
    
por 02.02.2016 / 06:13