欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

用批处理列出所有开机启动项的命令

程序员文章站 2022-04-10 18:45:37
下面是jm写的代码,可能对你有用!~ 复制代码 代码如下:@echo off  :: 考虑到程序并非都安装在系统盘下,所以还要用!str:~-...
下面是jm写的代码,可能对你有用!~

复制代码 代码如下:

@echo off 
:: 考虑到程序并非都安装在系统盘下,所以还要用!str:~-1!来截取盘符 
:: 如果路径中含有n个中文字符的话,此路径的最后n个字符将不显示(一个中文字符占两个字符位) 
:: code by jm 2006-7-27 
setlocal enabledelayedexpansion 
echo. 
echo                开机自启动的程序有: 
echo. 
for /f "skip=4 tokens=1* delims=:" %%i in ('reg query hklm\software\microsoft\windows\currentversion\run') do ( 
    set str=%%i 
    set var=%%j 
    set "var=!var:"=!" 
    if not "!var:~-1!"=="=" echo !str:~-1!:!var! 

pause>nul  

复制代码 代码如下:

@echo off
set rq=reg query
set cu=hkey_current_user
set lm=hkey_local_machine
set fs=findstr /v /b "! hkey_"^|findstr "."
set ws=\software\microsoft\windows\currentversion\
set wt=\software\microsoft\windows nt\currentversion\
set ck=\system\currentcontrolset\control\session manager
set rt=loaduserinitwindowswinlogonshellrunonceexpolicies\explorer\runbootexecute
set rp=echo -------------------------------------------------------------------------------

%rp%&echo %allusersprofile%^&%username%\「开始」菜单\程序\启动
for %%i in (allusersprofile;userprofile) do call dir /b /s "%%%%i%%\「开始」菜单\程序\启动"
%rp%

for /f "tokens=1-8 delims=: " %%a in ('findstr /b "::" "%~nx0"') do (
    call :regquery 1 %%a %%b %%c %%d %%e %%f %%g ">nul"
    )
set /a 1/%~1 2>nul&&goto :eof
set /p conu=导出为文本文档?(y/n):
echo %conu%|find /i "n" 1>nul 2<&1&&goto :eof
call %~nx0 1 >%~n0%.txt
echo file list:%~dpn0%.txt
pause>nul&"%~dpn0%.txt"
goto :eof
::cu wt 12  7 v  0  4
::lm wt 19  8 v  4  8
::lm wt 19  8 v 27  5
::cu ws 32  3 s  0  0
::lm ws 32  3 s  0  0
::cu ws 32  7 s  0  0
::lm ws 32  7 s  0  0
::cu ws 32  9 s  0  0
::lm ws 32  9 s  0  0
::cu ws 41 21 s  0  0
::lm ws 41 21 s  0  0
::lm ck  0  0 v 62 11
:regquery
call set pr=%%%~2%%%%%~3%%%%rt:~%~4,%~5%%&call set pz=%%rt:~%~7,%~8%%
echo [%pr%] %~9&%rq% "%pr%" /%6 %pz% 2>nul|%fs% %~9&&%rp%&&set/a 1/%1 2>nul&&call %0 0 %2 %3 %4 %5 %6 %7 %8
goto :eof