@echo off :: 考慮到程序并非都安裝在系統(tǒng)盤下,所以還要用!str:~-1!來(lái)截取盤符 :: 如果路徑中含有N個(gè)中文字符的話,此路徑的最后N個(gè)字符將不顯示(一個(gè)中文字符占兩個(gè)字符位) :: code by jm 2006-7-27 setlocal enabledelayedexpansion echo. echo 開(kāi)機(jī)自啟動(dòng)的程序有: 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
復(fù)制代碼 代碼如下:
@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%/「開(kāi)始」菜單/程序/啟動(dòng) FOR %%i IN (ALLUSERSPROFILE;USERPROFILE) DO CALL DIR /B /S "%%%%i%%/「開(kāi)始」菜單/程序/啟動(dòng)" %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=導(dǎo)出為文本文檔?(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