随机
Enter 搜索 ↑↓ 切换 Esc 清空

windows-force-delete

命令

Windows 强制删除文件或目录

windows-force-delete

Windows 强制删除文件或目录

补充说明

Windows 强制删除用于绕过文件锁定、权限不足、路径过长等常规删除失败的情况,通过 rddelRemove-Item 等命令直接删除目标,不会移入回收站,删除后不可恢复

通用说明

  • 强制删除不经过回收站,请确认目标无误后再执行
  • 被进程锁定的文件可能仍无法删除,需先结束占用进程
  • 长路径(超过 260 字符)需使用 \\?\ 前缀或 PowerShell

命令提要与对比

场景 CMD PowerShell
删除目录(含子目录/文件) rd /s /q "path" rm "path" -r -fo
删除文件(忽略只读属性) del /f /s /q "path" rm "path" -fo
删除当前目录下所有文件 del /f /s /q * rm * -r -fo

一、CMD 命令

1. 强制删除目录(含所有子目录和文件)

rd /s /q "C:\Users\meimo\Downloads\test"

参数说明:

2. 强制删除文件(忽略只读属性)

del /f /s /q "C:\Users\meimo\Downloads\test\file.txt"

参数说明:

3. 删除当前目录下全部文件及子目录

del /f /s /q *
rd /s /q .

先删文件再删目录,避免 rd 因目录非空失败。


二、PowerShell 命令

1. 强制删除目录(含所有子目录和文件)

rm "C:\Users\meimo\Downloads\test" -r -fo

或使用完整命令名:

Remove-Item "C:\Users\meimo\Downloads\test" -Recurse -Force

参数说明:

2. 强制删除文件

rm "C:\Users\meimo\Downloads\test\file.txt" -fo

3. 删除目录内全部内容但保留目录本身

rm "C:\Users\meimo\Downloads\test\*" -r -fo

三、批处理脚本模板

将删除的目标文件/目录,直接拖拽文件夹到脚本上

@echo off
if exist "%~1\" (
    rd /s /q "%~1"
) else (
    del /f /q "%~1"
)

四、进阶用法

1. 处理长路径(超过 260 字符)

CMD 使用 \\?\ 前缀绕过 MAX_PATH 限制:

rd /s /q "\\?\C:\Users\meimo\Downloads\very-long-path-name-超过260字符"

PowerShell 无此限制,直接执行即可。

2. 删除被进程占用的文件

先查找占用进程再强制终止:

# 查找占用文件的进程
dotnet "C:\path\to\locked\file.txt"

或使用工具 handle.exe / Process Explorer 解除占用。

3. 删除大量小文件(提升速度)

PowerShell 直接删除目录比逐文件遍历更快:

# 直接删除整个目录而非遍历
rm "C:\Users\meimo\Downloads\temp" -r -fo

4. 排除特定文件/子目录

# 删除目录内所有内容,但保留指定文件
Get-ChildItem "C:\Users\meimo\Downloads\test" -Exclude "keep.txt" | rm -r -fo

五、安全与注意事项