Windows文件被某个进程占用,无法删除

EXE 文件

打开PowerShell,按如下步骤操作:

# 查找进程
tasklist | findstr "something.exe"
# 这行命令会得到如下回显,第二个字段就是进程号
something.exe           27024   Console            1     52,940 K
# 按照进程号将这个进程杀掉
taskkill /PID 27024 /F

# 按照进程名直接杀掉
# /IM 即 Image Name,映像名称
# /F 即 Force,强制立即终止,不给任何反应时间
taskkill /IM "something.exe" /F

其他类型文件

Handle工具

微软官网下载Handle工具:

https://learn.microsoft.com/en-us/sysinternals/downloads/handle

打开PowerShell,按如下步骤操作:

# 扫描这个文件被谁占用了
.\handle64.exe D:\Sync\Temp.txt

# 以下是handle工具的回显
# Nthandle v5.0 - Handle viewer
# Copyright (C) 1997-2022 Mark Russinovich
# Sysinternals - www.sysinternals.com
# 
# pythonw.exe      pid: 29240  type: File       360: D:\Sync\Temp.txt

# 现在可以看到要删除的文件是被python占用了,文件打开之后没有关闭就会一直占用,直到进程结束
# 按照pid直接kill掉这个进程即可
taskkill /PID 29240 /F
Process Explorer

微软官网下载Process Explorer工具:

https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer

这个工具比Handle那个命令行工具牛逼多了,不过大部分功能平时基本用不上。

要搜索文件句柄的话,使用快捷键 Ctrl + Shift + F 打开Process Explorer Search即可搜索。

Windows Power Toys

强推,微软官方的windows工具集,地址:https://github.com/microsoft/PowerToys

自带一个功能:File Locksmith

安装并启用之后,右键单击文件可以看到这个选项:

很久以前用360安全卫士的时候,就有这个功能。但是它广告太多了,没办法。

posted @ 2024-10-21 11:45  烟酒忆长安  阅读(71)  评论(0编辑  收藏  举报