@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
BAT常用工具脚本源码(东拼西凑版)
最新推荐文章于 2024-05-28 18:00:00 发布