- UID
- 1164102
- 最后登录
- 1970-1-1
- 阅读权限
- 20
- 精华
- 主题
- 回帖
- 0
- 积分
- 84
- PB币
-
- 威望
-
- 贡献
-
- 技术
-
- 活跃
-
|
本帖最后由 wudi6160096 于 2022-12-16 17:18 编辑
- @echo off 2>nul 3>nul
- %1 start "" mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c ""%~s0"" ::","","runas",1)(window.close)&&exit
- setlocal enabledelayedexpansion
- for /F "tokens=*" %%i in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles"') do (
- for /F "skip=2 tokens=3 delims= " %%j in ('REG QUERY "%%i" /v DateLastConnected') do (
- if not defined LastTime (set "LastTimeAddress=%%i"&set LastTime=%%j) else (
- set TimeTemp=%%j
- set DelFlag=
- if "0x!TimeTemp:~2,2!!TimeTemp:~0,2!!TimeTemp:~4,2!" gtr "0x!LastTime:~2,2!!LastTime:~0,2!!LastTime:~4,2!" (set DelFlag=1) else (
- if "0x!TimeTemp:~2,2!!TimeTemp:~0,2!!TimeTemp:~4,2!" == "0x!LastTime:~2,2!!LastTime:~0,2!!LastTime:~4,2!" (
- if "0x!TimeTemp:~8,2!!TimeTemp:~12,2!!TimeTemp:~16,2!" gtr "0x!LastTime:~8,2!!LastTime:~12,2!!LastTime:~16,2!" (set DelFlag=1) else (
- if "0x!TimeTemp:~8,2!!TimeTemp:~12,2!!TimeTemp:~16,2!" == "0x!LastTime:~8,2!!LastTime:~12,2!!LastTime:~16,2!" (
- if "0x!TimeTemp:~20,2!!TimeTemp:~24,2!" gtr "0x!LastTime:~20,2!!LastTime:~24,2!" (set DelFlag=1) else (
- if "0x!TimeTemp:~20,2!!TimeTemp:~24,2!" == "0x!LastTime:~20,2!!LastTime:~24,2!" (
- if "0x!TimeTemp:~30,2!!TimeTemp:~28,2!" gtr "0x!LastTime:~30,2!!LastTime:~28,2!" set DelFlag=1
- )
- )
- )
- )
- )
- )
- if defined DelFlag (REG DELETE "!LastTimeAddress!" /f&set "LastTimeAddress=%%i"&set "LastTime=%%j") else REG DELETE "%%i" /f
- )
- )
- )>nul
- for /F "skip=2 tokens=3 delims= " %%# in ('REG QUERY "%LastTimeAddress%" /v ProfileName') do REG ADD "%LastTimeAddress%" /v ProfileName /d %%# /f>nul
- for /F "tokens=*" %%i in ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged"') do (
- for /F "skip=2 tokens=3 delims= " %%j in ('REG QUERY "%%i" /v ProfileGuid') do (
- if "%LastTimeAddress%"=="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles\%%j" (
- for /F "skip=2 tokens=3 delims= " %%# in ('REG QUERY "%%i" /v Description') do REG ADD "%%i" /v Description /d %%# /f® ADD "%%i" /v FirstNetwork /d %%# /f
- ) else REG DELETE "%%i" /f
- )
- )>nul
复制代码
--------------
详解:
- 关闭打印与错误输出
- 调用管理员运行脚本
- 开启本地变量延迟
- 查找注册表 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles 的项
- 查找不同连接最后连接的日期
- 用冒泡算法找出最新日期并记录连接编号
- 删除旧的网络连接
- 将网络连接中的名称以空格为界保留开头部分(如 “本地连接 2” → “本地连接”)
- 查找注册表 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkList\Signatures\Unmanaged 的项
- 查找不同项中 ProfileGuid 的值
- 如果 ProfileGuid 的值与记录的连接编号相同,则修改网络连接中的名称以空格为界保留开头部分,否则删除项
复制代码
下载地址:
找出最近使用的网络连接改名并删除其它连接.zip
(1.04 KB, 下载次数: 7)
--------------
此外,在此基础上延伸做了个 网络连接管理工具,选择选项即可删除指定网络连接。
下载地址:
Windows XP~8.1:
网络连接管理.zip
(1.1 KB, 下载次数: 5)
Windows 10~11:
网络连接管理_Win10.zip
(1.17 KB, 下载次数: 6)
如果效果满意请打赏支持下。
您的支持不仅是对我的肯定,也令程序和代码得到更多后续维护。
|
|