用批處理列出所有開機啟動項的命令
更新時間:2007年11月02日 22:18:37 作者:
下面是JM寫的代碼,可能對你有用!~
@echo off
:: 考慮到程序并非都安裝在系統(tǒng)盤下,所以還要用!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
復制代碼 代碼如下:
@echo off
:: 考慮到程序并非都安裝在系統(tǒng)盤下,所以還要用!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
相關(guān)文章
復制文件到c盤windows文件夾下的system32的批處理寫法
三個文件復制到c盤windows文件夾下的system32文件夾 批處理怎么寫?本文提供解決方法,需要的朋友可以了解下2012-12-12寫一個bat批處理文件啟動windows進程和延時關(guān)閉的代碼
一個實現(xiàn)啟動windows進程和延時關(guān)閉的bat批處理文件,用于打開IE與關(guān)閉IE,學習批處理的朋友可以參考下。2010-11-11如何讓“>”顯示出來批處理(dos)中的轉(zhuǎn)義符號
如何讓“>”顯示出來批處理(dos)中的轉(zhuǎn)義符號...2007-02-02判斷U盤已插入并自動COPY所有內(nèi)容的批處理-U盤自動復制
判斷U盤已插入并自動COPY所有內(nèi)容的批處理-U盤自動復制...2007-11-11