【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

注意

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

相关推荐
航Hang*3 分钟前
第1章:初识Linux系统——第13节:总复习②
linux·笔记·学习·centos
Amy_au4 分钟前
Linux week 01
linux·运维·服务器
dblens 数据库管理和开发工具12 分钟前
Git 指令大全(全干货版)
运维·git·ubuntu
YJlio37 分钟前
PsPing 学习笔记(14.1):ICMP Ping 进阶——替代系统 ping 的正确姿势
windows·笔记·学习
BMS小旭1 小时前
CubeMx-GPIO学习
单片机·学习
小鹏linux1 小时前
【linux】进程与服务管理命令 - chkconfig
linux·运维·服务器
南知意-2 小时前
3.3K Star ! 超级好用开源大屏设计器!
前端·开源·开源项目·工具·大屏设计
闻道且行之3 小时前
Linux|CUDA与cuDNN下载安装全指南:默认/指定路径双方案+多CUDA环境一键切换
linux·运维·服务器
Ahtacca3 小时前
Linux环境下前后端分离项目(Spring Boot + Vue)手动部署全流程指南
linux·运维·服务器·vue.js·spring boot·笔记
_w_z_j_3 小时前
Linux----Socket编程基础
linux·运维·服务器