| 关键词: nbsp set goto echo call take input nul CurrentVersion endlocal |
@echo off&setlocal enabledelayedexpansiontitle 系统工具-CMD@WinXP:: by zhouyongjun @bbs.bathome.cn 2009-07-05:maincls&color 3f&call :logoreg query HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools 2>nul|findstr/i "0x1" >nul 2>nul&&set/a v_registry=0||set/a v_registry=1set/a m=0reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue 2>nul |findstr/i "0x1" >nul 2>nul&&set/a v_showall=0||set/a v_showall=1if %v_registry% equ 1 (call :menu 打开注册表编辑器&call :menu 禁用注册表) else (call :menu 启用注册表)if %v_showall% equ 0 (call :menu 禁止显示隐藏文件) else (call :menu 允许显示隐藏文件)call :menu 开机启动项&call :menu 退出echo.set "input="&set/p input= 请选择:if not defined input goto mainset "input=%input: =%"&set "input=!input:~0,1!"if %v_registry% equ 1 set/a input-=1if "%input%" equ "0" start regedit&goto mainif "%input%" equ "1" (reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\System /v DisableRegistryTools /t reg_dword /d %v_registry% /f >nul&goto main)if "%input%" equ "2" (reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Folder\Hidden\SHOWALL /v CheckedValue /t reg_dword /d %v_showall% /f >nul&goto main)if "%input%" equ "3" call :_window&goto runif "%input%" equ "4" exitcall :error&goto main:menuset/a m+=1echo %m%. %1goto :eof:run //**获取启动文件夹、HKCU和HKLM下面的RUN项中的自启动信息**//cls&color 3f&call :logoecho 开机自启动项列表echo.&setlocalfor /r "%userprofile%\「开始」菜单\程序\启动\" %%i in (*.*) do ( set/a n+=1&set _!n!way="%%i"&call :list !n! "%%~ni")set "regcu=HKCU\Software\Microsoft\Windows\CurrentVersion\Run"set "reglm=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"for %%i in (%regcu% %reglm%) do ( set tem_flag=a for /f "skip=4 tokens=1,2*" %%a in ('reg query %%i /s') do ( set "va=%%a"&set "vb=%%b"&set "vc=%%~c" if "!vb!" equ "" set "tem_flag=" if defined tem_flag (set/a n+=1&set "_!n!name=!va!"&set _!n!way="%%i" if /i "!vb!" neq "reg_sz" (set vd=!vb:*:=!&call,set vb=%%vb:!vd!=%% set vb=!vb:~-2,2!&set vc=!vb!!vd! ) call :list !n! "!va!" "!vc!" ) ))echo.echo d.删除自启动项(删除单个:d+序号,如d1,d2;删除多个:逗号隔开,如d1,2,5)echo a.添加自启动项echo m.返回主菜单echo q.退出set "take="&set /p take= 请输入:if not defined take endlocal&goto runset "take=%take: =%"&set "take1=!take:~,1!"&set "take2=!take:~1!"if /i "%take1%"=="d" goto drunif /i "%take1%"=="a" goto addif /i "%take1%"=="m" endlocal&call :_window&goto mainif /i "%take1%"=="q" exitcall :error&endlocal&goto run:drun //**输入验证,删除选定项**//set "_take2=!take2:,=!"echo %_take2%|findstr "^[1-9][0-9]*$" >nul 2>nul||(call :error&endlocal&goto run)for %%i in (%take2%) do ( if not defined _%%iway (echo.&set/p= 序号%%i不存在<nul&ping /n 2 127.1 >nul ) else (if not defined _%%iname (del/a/f/q !_%%iway! >nul) else ( reg delete !_%%iway! /v "!_%%iname!" /f >nul ) ))endlocal&goto run:addcls&color 3f&call :logoecho 请把需要添加为开机自启动的文件拖入窗口按回车结束!echo.&echo.set/p vadd= if not defined vadd goto addif not exist %vadd% ( color 4e&echo.&echo.&echo 文件不存在!!! ping /n 3 127.1 >nul&goto add)for %%i in (%vadd%) do (reg add %reglm% /v "%%~ni" /t reg_sz /d %%i /f >nul)endlocal&goto run:listecho %1. %~2 %3goto :eof:errorcolor 4e&echo.echo 输入有误,请重新输入!ping /n 3 127.1>nulclsgoto :eof:_window //**窗口动画**//setlocal&call :_move-wind 82 15 25 10 15 82 10 25 82&endlocal&goto :eof:_move-windset/a w_n+=1,m_n=w_n%%2&set "sign=-"(if %w_n% gtr 2 set "sign=")&(if %w_n% equ 5 goto :eof)if %m_n% equ 0 (set con_a=lines&set con_b=cols) else (set con_a=cols&set con_b=lines)for /l %%a in (%1,%sign%1,%2) do mode con %con_a%=%%a %con_b%=%3shift&shift&goto _move-wind:logoecho.&echo.echo 〓§〓〓〓〓〓§〓〓〓 %date% 〓〓〓§〓〓〓〓〓§〓echo.&echo.&goto :eof |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|