BAT常用工具脚本源码(东拼西凑版)

@echo off
color 02 



:start
title  Tools            --By Gu
cls
echo;
echo    ****************************************************************
echo    *                           菜单                               *
echo    *              0.切换至管理员身份运行此脚本                    *
echo    *              1.查询AD账户信息                                *
echo    *              2.查看本机网络信息                              *
echo    *              3.刷新DNS缓存                                   *
echo    *              4.组策略刷新或查看                              *
echo    *              5.扫描所有端口及占用程序                        *
echo    *              6.清理系统垃圾                                  *
echo    *              7.追踪路由                                      *
echo    *              8.桌面图标恢复                                  *
echo    *              9.生成应用免密提权运行脚本                      *
echo    *              10.检测硬件信息                                 *
echo    *              11.添加防火墙规则                               *
echo    *              12.重启打印服务并清除任务缓存                   *
echo    *              13.恢复Win10照片查看器                          *
echo    *              14.生成电池报告                                 *
echo    *              15.查看系统安装时间及其他信息                   *
echo    *              16.重启网卡                                     *
echo    *              17.查看本机空闲及已占用盘符                     *
echo    *              18.查看系统激活情况                             *
echo    *              19.查看office激活情况(2016及更高版本)         *
echo    *              20.关闭bitlocker                                *
echo    *              21.删除多余用户                                 *
echo    *              22.系统配置(安全模式启动或修改引导)           *
echo    *              23.密码策略查看                                 *
echo    *              24.修复程序打开方式异常                         *
echo    *              25.修复资源管理器打不开                         *
echo    *              26.获取设备SN码                                 *
echo    *              99.退出                                         *
echo    ****************************************************************
echo;
:cho
set choice=99
set /p choice= 请选择对应的操作编号:
IF NOT "%choice%"=="" SET choice=%choice:~0,2%
if /i "%choice%"=="0"  goto 0
if /i "%choice%"=="1"  goto 1
if /i "%choice%"=="2"  goto 2
if /i "%choice%"=="3"  goto 3
if /i "%choice%"=="4"  goto 4
if /i "%choice%"=="5"  goto 5
if /i "%choice%"=="6"  goto 6
if /i "%choice%"=="7"  goto 7
if /i "%choice%"=="8"  goto 8
if /i "%choice%"=="9"  goto 9
if /i "%choice%"=="10"  goto 10
if /i "%choice%"=="11"  goto 11
if /i "%choice%"=="12"  goto 12
if /i "%choice%"=="13"  goto 13
if /i "%choice%"=="14"  goto 14
if /i "%choice%"=="15"  goto 15
if /i "%choice%"=="16"  goto 16
if /i "%choice%"=="17"  goto 17
if /i "%choice%"=="18"  goto 18
if /i "%choice%"=="19"  goto 19
if /i "%choice%"=="20"  goto 20
if /i "%choice%"=="21"  goto 21
if /i "%choice%"=="22"  goto 22
if /i "%choice%"=="23"  goto 23
if /i "%choice%"=="24"  goto 24
if /i "%choice%"=="25"  goto 25
if /i "%choice%"=="26"  goto 26
if /i "%choice%"=="99"  goto 99


rem 此处提供退出功能,添加或删除项注意修改choice默认值!!
:99
exit


:0
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
	echo 请求管理员权限...
	goto UACPrompt
) else ( goto start )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
::gotAdmin
echo 获得管理员权限
echo 按任意键返回菜单
echo;
pause >nul
goto start


:1
title 查询AD账户信息
cls
::输入值设为参数userid
set /p userid=请输入用户名:
net user %userid% /domain
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start

:2
title 查询网络信息
cls
ipconfig /all
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start

:3
title 刷新DNS缓存
cls
ipconfig /flushdns
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start

:4
title 组策略相关
cls
set /p gpchoose="请选择下一步操作,刷新组策略(flashgp)|生成组策略报告(reportgp):"
if "%gpchoose%"=="flashgp" goto flashgp
if "%gpchoose%"=="reportgp" goto reportgp
::刷新组策略
:flashgp
gpupdate /force
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start
::生成报告
:reportgp
gpresult /h d:\reportgp.html
echo;
echo 已生成报告reportgp.html并导出至D盘
echo 按任意键返回菜单
echo;
pause >nul
goto start


:5
title 扫描所有端口及显示占用程序
cls
netstat -ano
echo;
echo 按任意键继续筛选端口号
echo;
pause >nul
goto port
:port
set /p port=请输入端口号:
netstat -ano |findstr %port%
echo;
echo 按任意键继续筛选PID
echo;
pause >nul
goto app
:app
set /p pid=请输入PID:
tasklist |findstr %pid%
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start

:6
title 清理系统垃圾
cls
echo 正在清除系统垃圾文件,请稍等......
del /f /s /q %systemdrive%\*.tmp
del /f /s /q %systemdrive%\*._mp
del /f /s /q %systemdrive%\*.log
del /f /s /q %systemdrive%\*.gid
del /f /s /q %systemdrive%\*.chk
del /f /s /q %systemdrive%\*.old
del /f /s /q %systemdrive%\recycled\*.*
del /f /s /q %windir%\*.bak
del /f /s /q %windir%\prefetch\*.*
rd /s /q %windir%\temp & md %windir%\temp
del /f /q %userprofile%\cookies\*.*
del /f /q %userprofile%\recent\*.*
del /f /s /q "%userprofile%\Local Settings\Temporary Internet Files\*.*"
del /f /s /q "%userprofile%\Local Settings\Temp\*.*"
del /f /s /q "%userprofile%\recent\*.*"
echo;
echo 清除系统垃圾完成,任意键返回菜单!
echo; & pause >nul
goto start


:7
title 追踪路由
cls
set /p address=请输入目标地址:
tracert -d %address%
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start

:8
title 桌面图标恢复
cls
taskkill /f /im explorer.exe
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
start explorer.exe
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start

:9
title 生成应用免密提权运行脚本
cls
set /p app_path=请将需要的执行程序直接拖至此处:
echo runas /user:administrator /savecred %app_path% >run.bat
echo 已生成run.bat
echo 如脚本无法正常使用,请检查路径部分语法是否有误。
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start

:10
title 硬件检测 
cls   
sc config  winmgmt start= auto >nul 2<&1
net start winmgmt 2>nul
setlocal  ENABLEDELAYEDEXPANSION
echo 主版:
for /f "tokens=1,* delims==" %%a in ('wmic BASEBOARD get Manufacturer^,Product^,Version^,SerialNumber /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       制造商   = %%b
     if "!tee!" == "4" echo       型  号   = %%b
     if "!tee!" == "5" echo       序列号   = %%b
     if "!tee!" == "6" echo       版  本   = %%b
)
set tee=0
echo      BIOS:
for /f "tokens=1,* delims==" %%a in ('wmic bios  get 

CurrentLanguage^,Manufacturer^,SMBIOSBIOSVersion^,SMBIOSMajorVersion^,SMBIOSMinorVersion^,ReleaseDate /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       当前语言 = %%b
     if "!tee!" == "4" echo       制造商   = %%b
     if "!tee!" == "5" echo       发行日期 = %%b
     if "!tee!" == "6" echo       版  本   = %%b
     if "!tee!" == "7" echo       SMBIOSMajorVersion = %%b
     if "!tee!" == "8" echo       SMBIOSMinorVersion = %%b 
)
set tee=0
echo.
echo CPU:
for /f "tokens=1,* delims==" %%a in ('wmic cpu get name^,ExtClock^,CpuStatus^,Description /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       CPU个数   = %%b
     if "!tee!" == "4" echo       处理器版本   = %%b
     if "!tee!" == "5" echo       外   频   = %%b
     if "!tee!" == "6" echo       名称及主频率   = %%b
)
set tee=0
echo.
echo 显示器:
for /f "tokens=1,* delims==" %%a in ('wmic DESKTOPMONITOR  get name^,ScreenWidth^,ScreenHeight^,PNPDeviceID /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       类    型  = %%b
     if "!tee!" == "4" echo       其他信息  = %%b
     if "!tee!" == "5" echo       屏幕高    = %%b
     if "!tee!" == "6" echo       屏幕宽    = %%b
)
set tee=0
echo.
echo 硬  盘:
for /f "tokens=1,* delims==" %%a in ('wmic DISKDRIVE get model^,interfacetype^,size^,totalsectors^,partitions /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       接口类型  = %%b
     if "!tee!" == "4" echo       硬盘型号  = %%b
     if "!tee!" == "5" echo       分区数    = %%b
     if "!tee!" == "6" echo       容    量  = %%b
     if "!tee!" == "7" echo       总扇区    = %%b
)
echo 分区信息:
wmic LOGICALDISK  where mediatype='12' get description,deviceid,filesystem,size,freespace
set tee=0
echo.
echo 网  卡:
for /f "tokens=1,* delims==" %%a in ('wmic NICCONFIG where "index='1'" get ipaddress^,macaddress^,description /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       网卡类型  = %%b
     if "!tee!" == "4" echo       网卡IP    = %%b
     if "!tee!" == "5" echo       网卡MAC   = %%b
)
set tee=0
echo.
echo 打印机:
for /f "tokens=1,* delims==" %%a in ('wmic PRINTER get caption /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       打印机名字  = %%b
)
set tee=0
echo.
echo 声   卡:
for /f "tokens=1,* delims==" %%a in ('wmic SOUNDDEV get name^,deviceid /value') do (
     set /a tee+=1
     if "!tee!" == "3" echo       其他信息  = %%b
     if "!tee!" == "4" echo       型    号  = %%b
)
set tee=0
echo.
echo 内    存: 
for /f "tokens=1,* delims==" %%a in ('systeminfo^|find "内存"') do (
    echo         %%a 4534 %%b 
)
echo.
echo 显    卡:
del /f "%TEMP%\temp.txt" 2>nul
dxdiag /t %TEMP%\temp.txt
:显卡
rem 这里需要30秒左右!
if EXIST "%TEMP%\temp.txt" (
    for /f "tokens=1,2,* delims=:" %%a in ('findstr /c:" Card name:" /c:"Display Memory:" /c:"Current Mode:" "%TEMP%\temp.txt"') do (
         set /a tee+=1
         if !tee! == 1 echo     显卡型号: %%b
         if !tee! == 2 echo     显存大小: %%b
         if !tee! == 3 echo     当前设置: %%b
)   ) else (
    ping /n 2 127.1>nul
    goto 显卡
)
set /p var=需要额外信息吗(y/n): 
if /i %var% == y notepad "%TEMP%\temp.txt"
del /f "%TEMP%\temp.txt" 2>nul
pause
goto start



:11
title 防火墙规则
cls
:startfirewall
set /p firewall_rule="输入选择添加规则,显示(add|show|quit):"
if "%firewall_rule%"=="add" goto addfirewall
if "%firewall_rule%"=="show" goto showfirewall
if "%firewall_rule%"=="quit" goto start
:showfirewall
netsh firewall show config
goto startfirewall
:addfirewall
set /p firewall_io="选择加出|入规则(addout|addin):"
if "%firewall_io%"=="addout" goto addoutfirewall
if "%firewall_io%"=="addin" goto addinfirewall
:addinfirewall
set /p rname="规则名称:"
set /p appath="程序路径:"
set /p isallow="允许|阻止(a|b):"
if "%isallow%"=="a" set act="allow"
if "%isallow%"=="b" set act="block"
netsh advfirewall firewall add rule name="%rname%" dir=in action="%act%" program="%appath%" enable=yes
goto startfirewall
:addoutfirewall
set /p rname="规则名称:"
set /p appath="程序路径:"
set /p isallow="允许|阻止(a|b):"
if "%isallow%"=="a" set act="allow"
if "%isallow%"=="b" set act="block"
netsh advfirewall firewall add rule name="%rname%" dir=out action="%act%" program="%appath%" enable=yes
goto startfirewall


:12
title 重启打印服务并清除任务缓存
cls
net stop spooler
del c:\windows\system32\spool\printers\*.* /Q /F
net start spooler
pause
goto start

:13
title 恢复Win10照片查看器
cls
reg add "HKLM\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations" /v ".jpg" /t REG_SZ /d PhotoViewer.FileAssoc.Tiff /f
reg add "HKLM\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations" /v ".jpeg" /t REG_SZ /d PhotoViewer.FileAssoc.Tiff /f
reg add "HKLM\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations" /v ".bmp" /t REG_SZ /d PhotoViewer.FileAssoc.Tiff /f
reg add "HKLM\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations" /v ".png" /t REG_SZ /d PhotoViewer.FileAssoc.Tiff /f
echo 请双击或右击图片,选择“照片查看器”即可
pause
goto start



:14
title 电池报告
cls
powercfg /batteryreport output "D:/电池报告.html"
echo;
echo 已生成报告“电池报告.html”并导出至D盘
echo 按任意键返回菜单
echo;
pause >nul
goto start



:15
title 查询系统安装时间
cls
systeminfo
echo;
echo 按任意键返回菜单
echo;
pause >nul
goto start




:16
title 重启网卡
cls
netsh interface show interface
set /p adapterchoose="请输入需要重启的网卡接口名称:"
echo.
echo 正在重启网卡%adapterchoose%
netsh interface set interface "%adapterchoose%" disable
for /f "delims=" %%i in ('netsh interface set interface "%adapterchoose%" enabled') do set Returnvalue=%%i
IF NOT "%Returnvalue%"=="" echo 出现错误请重试,按任意键返回菜单
if "%Returnvalue%"=="" echo %adapterchoose%重启成功,按任意键返回菜单
echo;
pause >nul
goto start






:17
title 查看本机空闲及已占用盘符
cls
set panfu=a b c d e f g h i j k l m n o p q r s t u v w x y z
echo 当前系统空闲盘符(a~z)有:
for %%f in (%panfu%) do if not exist %%f: echo %%f:
echo 当前系统占用盘符(a~z)有:
for %%b in (%panfu%) do if exist %%b: echo %%b:
echo 按任意键返回菜单
echo;
pause >nul
goto start


:18
title 查看系统激活情况
cls
slmgr /xpr > nul
if %errorlevel% equ 0 (
    echo Windows已成功激活。
) else if %errorlevel% equ 1792 (
    echo Windows未能连接到互联网进行激活验证。
) else (
    slmgr.vbs -dlv | findstr "License Status"
)
echo 按任意键返回菜单
echo;
pause >nul
goto start


:19
title 查看office激活情况(2016及更高版本)
cls
powershell -Command "(Get-ItemProperty -Path 'HKCU:\Software\Microsoft\Office\16.0\Common\OEM' -Name 'FirstInstallDate').FirstInstallDate" > nul
if %errorlevel% equ 0 (
    echo Office已成功激活。
) else (
    echo Office未能激活。
)
echo 按任意键返回菜单
echo;
pause >nul
goto start


:20
title 关闭bitlocker
cls
set /p panfu=请输入需要关闭的盘符:
manage-bde -off %panfu%:
echo;
pause >nul
goto start



:21
title 删除多余用户
cls
set /p deluser=请输入需要删除的用户名:
net user %deluser% /delete
echo 用户已删除,按任意键返回菜单
echo;
pause >nul
goto start



:22
title 系统配置(安全模式启动或修改引导)
cls
msconfig
echo 按任意键返回菜单
echo;
pause >nul
goto start



:23
title 密码策略查看
cls
net accounts /domain
echo 按任意键返回菜单
echo;
pause >nul
goto start



:24
title 修复程序打开方式异常
cls
echo y|reg add "HKEY_CLASSES_ROOT\exefile\shell\open\command" /ve /t REG_SZ /d "\"%1\" %*" /f
echo 按任意键返回菜单
echo;
pause >nul
goto start



:25
title 修复资源管理器打不开
cls
echo y|reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /t REG_SZ /d "Explorer.exe" /f
echo 按任意键返回菜单
echo;
pause >nul
goto start



:26
title 获取设备SN码
cls
wmic bios get serialnumber
echo 按任意键返回菜单
echo;
pause >nul
goto start
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值