【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

注意

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

相关推荐
GlobalSign数字证书2 小时前
小企业零运维 TLS 架构设计:证书生命周期管理(CLM)与自动化轮换策略的技术选型
运维·自动化
启雀AI2 小时前
培训平台移动端离线学习方案设计与实现:视频缓存、断点续传与进度同步的工程实践
android·学习·缓存·音视频·企业lms
艾伦_耶格宇3 小时前
【ELK】-4 logstash的搭建及操作
linux·运维·ubuntu·elk
mifengxing4 小时前
文件逻辑结构、物理结构与磁盘空闲存储空间管理
大数据·linux·运维·操作系统·计算机408
听你说324 小时前
智亮苍南・绿动未来!中节能晶和科技打造浙南县域智慧照明示范样板
大数据·运维·人工智能·科技
Bruce_Liuxiaowei4 小时前
从零到可运行:基于 Vue3 + FastAPI + DeepSeek-V3 的 AI 英语单词学习系统全栈实战
人工智能·python·学习·fastapi·全栈·智能体
雪的季节5 小时前
OPENCV学习(补充1)
人工智能·opencv·学习
小此方6 小时前
Re:Linux系统篇(五十七)线程篇 · 十:基于环形缓冲的生产者消费者模型与信号量
linux·运维·驱动开发
fanged6 小时前
Linux的DD命令
linux·运维·服务器