电脑提示0x80070020代码 电脑关闭冲突进程代码指令【文件占用】

老枫小哥_4903

老枫小哥_4903

2026-05-27

1182人浏览

原创

错误代码0x80070020表示文件被进程独占占用,需通过powershell、handle64.exe、资源监视器、net stop命令或movefile.exe五种方案定位并释放句柄。

电脑提示0x80070020代码 电脑关闭冲突进程代码指令【文件占用】

如果您尝试执行文件操作(如删除、移动或覆盖),但系统提示“另一个程序正在使用此文件”,并返回错误代码0x80070020,则表明目标文件正被至少一个进程以独占方式打开,且其句柄未释放。该错误本质是Windows NT内核级共享冲突——即某进程调用CreateFile时指定了FILE_SHARE_DELETE = FALSE,从而禁止其他线程对该文件执行删除操作。以下是多种可立即执行的关闭冲突进程的代码指令方案:

一、使用PowerShell定位并终止占用进程

该方法通过遍历所有进程模块路径匹配目标文件,适用于DLL、驱动文件或已加载资源文件被占用的场景,不依赖第三方工具,原生兼容Windows 10/11。

1、以管理员身份运行PowerShell;

2、执行以下命令(将C:\path\to\your\file.txt替换为实际完整路径):
Get-Process | ForEach-Object { try { $_.Modules | Where-Object {$_.FileName -eq 'C:\path\to\your\file.txt'} | ForEach-Object { Stop-Process -Id $_.Id -Force -ErrorAction SilentlyContinue } } catch {} };

3、若无输出,说明未在模块中直接加载该文件,需转向句柄级排查。

二、使用handle64.exe强制查询并关闭句柄

handle64.exe是微软Sysinternals官方工具,可穿透会话隔离,直接枚举内核对象句柄,精准定位任意进程对文件或设备的锁定行为,支持批量关闭而不终止整个进程。

1、从Microsoft官网下载Sysinternals Suite,解压后获取handle64.exe;

2、以管理员身份运行CMD,进入工具所在目录;

3、执行查询命令:handle64.exe -a "filename" -accepteula(例如:handle64.exe -a "config.dll" -accepteula);

4、从输出中识别PID与句柄ID(如“pid: 1234 type: File 12c”);

5、执行关闭指令:handle64.exe -c 12c -p 1234 -y(其中12c为句柄ID,1234为PID)。

三、通过资源监视器图形化终止占用进程

资源监视器提供实时句柄搜索功能,界面直观,适合快速定位COM端口、映射驱动器、临时文件等常见占用源,无需记忆命令语法。

1、按Win + R,输入resmon并回车;

2、切换至“CPU”选项卡,点击右下角“关联的句柄”搜索框;

3、输入文件名或路径关键词(如.log、Temp、E:\);

4、在结果列表中找到对应进程,右键选择“结束进程”或“结束进程树”;

5、若进程为系统服务(如SearchIndexer.exe),右键名称后选择“转到服务”,再在服务窗口中停止对应项。

四、调用net stop命令释放Windows Update相关锁

当错误出现在Windows Update上下文(如softwareDistribution文件夹内文件被锁),核心冲突常源于WU服务组件自身持有句柄,需暂停服务链后再清理缓存目录。

1、以管理员身份运行CMD;

2、依次执行:net stop wuauserv、net stop cryptsvc、net stop bits;

3、手动删除C:\Windows\SoftwareDistribution\Download与DataStore内全部内容;

4、执行启动命令:net start wuauserv、net start cryptsvc、net start bits。

五、启用系统级延迟删除机制绕过句柄限制

当所有主动关闭手段失败,且目标文件非系统关键文件时,可利用Windows内置的“重启后删除”语义,将文件重命名并注册为关机清理任务,避免强制kill引发数据损坏。

1、下载Sysinternals MoveFile.exe工具;

2、以管理员身份运行CMD,执行:MoveFile.exe "C:\locked\file.dat" ""(第二个参数为空表示删除);

3、该命令将写入注册表HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations;

4、重启系统后,文件将在Session Manager初始化阶段被内核级清除。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
PixTV官网入口地址合集
PixTV官网入口地址合集

本专题汇总了 PixTV AI 一站式视频创作平台的官方入口与使用教程。无需下载软件,浏览器直接访问即可使用。平台将剧本、图像、视频、声音与剪辑整合在“无限画布”中,接入 GPT Image 2.5、Seedance 2.5 等头部模型。本专题整理了从新建画布、角色锚定、分镜拆分到视频生成与导出的完整操作指南,助你快速上手 AI 短剧与漫剧创作。

2026.10.10

40

15

Kratos框架HTTP与gRPC服务开发教程
Kratos框架HTTP与gRPC服务开发教程

本专题围绕Kratos框架双协议服务开发,涵盖HTTP路由与处理器编写、参数获取、gRPC服务实现与客户端调用、metadata上下文传递、encoding编解码注册、统一响应封装、超时控制与流式响应实现方法。

2026.10.10

20

15

Kratos框架Protobuf接口定义与代码生成合集
Kratos框架Protobuf接口定义与代码生成合集

本专题讲解Kratos框架接口定义体系,涵盖proto编写规范、proto add/client/server生成命令、http注解路由、validate校验、OpenAPI文档生成、跨服务proto复用与兼容性设计。

2026.10.10

0

15

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

2026.10.10

20

26

C++类与对象的封装方法教程
C++类与对象的封装方法教程

C++封装是面向对象编程的核心特性之一,通过类将数据与操作数据的函数组织在一起,并利用访问权限控制外部访问。本专题介绍类的定义、成员变量、成员函数以及public、private和protected的使用方法,帮助初学者掌握封装的基本原理。

2026.10.10

20

32

C++构造函数定义与调用方法
C++构造函数定义与调用方法

C++构造函数用于初始化类对象,是面向对象编程的重要基础。本专题从构造函数的定义、声明和调用入手,介绍默认构造函数、带参数构造函数、拷贝构造函数及成员初始化列表,帮助初学者掌握对象创建与初始化的基本方法。

2026.10.10

20

16

Kratos框架零基础入门教程
Kratos框架零基础入门教程

本专题整理Kratos框架入门内容,涵盖Go环境准备、kratos CLI安装升级、new命令创建项目、目录结构分层说明、服务启动与双协议端口、依赖下载报错排查,帮助开发者快速跑通第一个Kratos框架微服务应用。

2026.10.10

20

15

C++条件判断语句怎么写
C++条件判断语句怎么写

C++条件判断是控制程序执行流程的重要基础。本专题介绍if、if-else、else if和switch等常见分支语句,结合条件表达式、比较运算符与代码示例,帮助初学者掌握不同场景下的判断逻辑。

2026.10.10

0

13

C++变量怎么声明和赋值
C++变量怎么声明和赋值

C++变量是编写程序和存储数据的基础。本专题围绕变量声明、定义、初始化、赋值和类型选择等内容展开,帮助初学者理解不同变量的用法,并掌握在实际代码中定义和使用变量的方法。

2026.10.10

20

20

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习