【win的实用官方工具集合】解决:该设备正在使用中,请关闭所有。。。

如图片展示的那样

复制代码
https://learn.microsoft.com/zh-cn/sysinternals/downloads/sync

@echo off
setlocal EnableDelayedExpansion
title USB 占用侦探 V2.0 - 全局搜索版
color 1f

:: --- 1. 检查管理员权限 ---
net session >nul 2>&1
if %errorlevel% neq 0 (
    echo.
    echo [警告] 请右键点击本脚本,选择"以管理员身份运行"!
    echo 只有管理员权限才能查看到所有系统进程。
    echo.
    pause
    exit
)

:start
cls
echo ========================================================
echo        USB 占用检测工具 V2.0 (自动搜索 Handle 工具)
echo ========================================================
echo.

:: --- 2. 智能搜索工具 (优先搜系统 PATH,再搜当前目录) ---
set tool=

:: 尝试在 PATH 中搜索 handle64
where handle64.exe >nul 2>&1
if %errorlevel% equ 0 (
    set tool=handle64.exe
    echo [状态] 已在系统路径中找到: handle64.exe
    goto check_drive
)

:: 尝试在 PATH 中搜索 handle
where handle.exe >nul 2>&1
if %errorlevel% equ 0 (
    set tool=handle.exe
    echo [状态] 已在系统路径中找到: handle.exe
    goto check_drive
)

:: 尝试在当前目录下搜索
if exist "%~dp0handle64.exe" (
    set tool="%~dp0handle64.exe"
    echo [状态] 已在当前目录找到: handle64.exe
    goto check_drive
)
if exist "%~dp0handle.exe" (
    set tool="%~dp0handle.exe"
    echo [状态] 已在当前目录找到: handle.exe
    goto check_drive
)

:: --- 如果都找不到 ---
if "%tool%"=="" (
    echo.
    echo [错误] 依然找不到 handle.exe 或 handle64.exe!
    echo.
    echo 请确认以下任一条件满足:
    echo 1. handle.exe 已经放入 C:\Windows\System32 (或其他 PATH 目录)。
    echo 2. 或者,handle.exe 就在本脚本的同一个文件夹里。
    echo.
    echo 输入命令 'where handle.exe' 进行测试。
    pause
    exit
)

:check_drive
echo.
set /p drive="请输入 U 盘盘符 (例如 E,不带冒号): "
set drive=%drive::=%

echo.
echo 正在扫描 %drive%: 盘的占用情况...

:: --- 3. 第一次运行协议 (静默接受 EULA) ---
%tool% -accepteula -s >nul 2>&1

:: --- 4. 核心命令:输出日志 ---
echo 正在生成报告...
echo --------------------------------------------------- > USB_Lock_Log.txt
echo 扫描工具: %tool% >> USB_Lock_Log.txt
echo 扫描时间: %date% %time% >> USB_Lock_Log.txt
echo 目标盘符: %drive%:\ >> USB_Lock_Log.txt
echo --------------------------------------------------- >> USB_Lock_Log.txt
echo. >> USB_Lock_Log.txt

:: 执行命令并将结果追加到日志
%tool% -a -u %drive%: >> USB_Lock_Log.txt

:: --- 5. 完成与反馈 ---
echo.
echo 扫描完成!正在打开日志文件...
start notepad USB_Lock_Log.txt

echo.
echo ========================================================
echo  请查看弹出的记事本窗口。
echo  如果日志是空的,说明没有明显的文件句柄占用,
echo  或者你需要重新拔插一下试试。
echo ========================================================
echo.
pause

注意

代码不太完善 ,会显示无关的进程。

相关推荐
2501_9419820519 小时前
企微死锁破解:自动化推送自动恢复技术
运维·自动化·企业微信
宇钶宇夕19 小时前
CoDeSys入门实战一起学习(十三):函数(FUN)深度解析:自定义、属性与实操案例
运维·算法·自动化·软件工程
代码游侠19 小时前
学习笔记——GPIO按键与中断系统
c语言·开发语言·arm开发·笔记·嵌入式硬件·学习·重构
bukeyiwanshui19 小时前
Nginx 服务器
运维·服务器·nginx
楼田莉子19 小时前
Linux学习之库的原理与制作
linux·运维·服务器·c++·学习
枷锁—sha19 小时前
【Vulhub】1Panel 访问控制绕过实战指南 (CVE-2024-39907)
运维·学习·安全·网络安全
浅念-19 小时前
C++第一课
开发语言·c++·经验分享·笔记·学习·算法
kkoral19 小时前
【FFmpeg 智慧园区场景应用】2.自动化处理 Shell 脚本
运维·ffmpeg·自动化
charlie11451419119 小时前
现代嵌入式C++教程:对象池(Object Pool)模式
开发语言·c++·学习·算法·嵌入式·现代c++·工程实践
小丁努力不焦虑19 小时前
你在以前遇到了什么困难你又是如何解决的?
学习