【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

注意

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

相关推荐
一叶知秋yyds4 分钟前
Ubuntu 虚拟机安装 OpenClaw 完整流程
linux·运维·ubuntu·openclaw
liliwoliliwo17 分钟前
deim跑代码记录学习思路
学习
斯普信云原生组44 分钟前
Prometheus 环境监控虚机 Redis 方案(生产实操版)
运维·docker·容器
XH华1 小时前
数据结构第九章:树的学习(下)
数据结构·学习
safestar20122 小时前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
来一颗砂糖橘2 小时前
负载均衡的多维深度解析
运维·负载均衡
楠奕2 小时前
CentOS7安装GoldenDB单机搭建及常见报错解决方案
linux·运维·服务器
GCTTTTTT3 小时前
远程服务器走本地代理
运维·服务器
剑锋所指,所向披靡!3 小时前
Linux常用指令(2)
linux·运维·服务器