# 【自荐】Delapp - 开源的文件删除工具

**URL:** <https://meta.appinn.net/t/topic/43782>\
**Category:** 发现频道\
**Tags:** appinned, windows\
**Created:** [2023 年5 月 18 日 11:48 UTC](https://meta.appinn.net/t/topic/43782 "2023-05-18T11:48:32Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

作者： ![differentrain](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/7ea924/32.png) [@differentrain](https://meta.appinn.net/u/differentrain)\
发布日期： [2023 年5 月 18 日 11:48 UTC](https://meta.appinn.net/t/topic/43782/1 "2023-05-18T11:48:32Z")

</div>

## 软件名称

Delapp

## 应用平台

- Windows 7或更高
- [.NET Framework 4.8 运行时](https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/net48)或更高

## 推荐类型

【开发者自荐】

## 简介

- 高速删除文件和文件夹
- 删除以`.`或` `(空格)结尾的文件夹
- 删除被其他程序打开的文件和文件夹
- 删除映射文件
- 删除正在运行的程序
- 删除正被使用的动态运行库

## 项目网站&下载

[https://github.com/differentrain/Delapp](https://github.com/differentrain/Delapp)

[最新版本](https://github.com/differentrain/Delapp/releases/latest/download/Delapp.zip)

## 截图

![](https://raw.githubusercontent.com/differentrain/Delapp/master/img/Main01_cn.png)  
 ![](https://raw.githubusercontent.com/differentrain/Delapp/master/img/Open02_cn.png)

## 瞎扯八道

很久以前写过一个类似的东西 [DeletionTool](https://github.com/differentrain/DeletionTool), 不过它有不少小毛病，于是找个时间重写了一下。

其实“解除文件占用”从技术方面讲很简单，像 BlackINT3 大佬的 [OpenArk](https://www.appinn.com/openark-for-windows/), 解锁占用只是其中最微不足道的功能之一。

这项技术最大难点在于Ring3层面的束手束脚。最典型的例子[QueryObject](https://learn.microsoft.com/zh-cn/windows-hardware/drivers/ddi/ntifs/nf-ntifs-zwqueryobject)，这玩意不进内核简直就是达利特，碰见pipe等大哥正在进行SYNCHRONIZE操作，直接挂起到老死，DeletionTool就有这个问题。

写Delapp的时候，我不想为了小工具单独写个驱动，还得安装，麻烦且不环保，于是试了很多办法，研究了一两天才解决。

大部分接解除用工具到这里就结束了，实测的时候，还有一些情况无法解决，比如被删除的是一个程序exe，或者是一个正被使用的dll。当然这也不难，遇到程序直接关闭进程，遇到dll或者映射文件直接unmap。

于是Delapp解除占用的流程是这样的：首先判断被占用的是不是程序，如果是程序就关闭，如果是其他模块(dll)或者映射文件，则unmap掉，最后才是像其他程序一样检测句柄问题。

这套流程可以做到至少70%的文件都是想删就删，不过肯定有风险，某些软件可能就闪退了，这个没办法，于是我强制加了个提示，必须确认才会删除。

不过它毕竟是用户层的应用，对系统是没影响的，大概。我曾经一度想做个提权，弄到System权限，能删的东西就更多，不过单文件就做不到了，于是作罢。

还有就是以`.`或` `(空格)结尾的文件夹。

打开命令行，输入 `md test..\`，就可以创造一个名为`test..`的文件夹，摁Delete或者邮件删不掉的，输入命令 `rd test..\`才能删掉。我最开始遇见这个问题是下在本子的时候，特别糟心，可以说是我写这两个软件的最大动机了……

这个问题吧，是shell外壳程序的BUG导致的，这意味着系统通用的文件对话框完全不能用了，所以如上图，我做了个简陋的对话框，专门用来处理这种糟心货。

用起来肯定不如系统自带的那个方便，如果不是这种倒霉玩意儿，直接拖到软件上或者用右键菜单就可以了，要是遇上了，想删除或者修复的话，就用这对话框手动选择吧。

P·S：刚才发给朋友，被鄙视了，因为这程序不能删除自己……其实是能做到的，但要创建临时文件或者task了，不优雅。所以我把自身的路径，和所属文件夹路径都屏蔽了。

---

<div class="post-metadata">

作者： ![Debatrix](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/debatrix/32/4680_2.png) [@Debatrix](https://meta.appinn.net/u/Debatrix)\
发布日期： [2023 年5 月 19 日 06:52 UTC](https://meta.appinn.net/t/topic/43782/2 "2023-05-19T06:52:11Z")

</div>

刚听到感觉很没用，稍微想想又感觉很有用，再仔细想想还是很没用 :rofl: :rofl:  
这个工具让我想起来很久之前打CTF时遇到的驻留内存并且相互创建的一组恶心木马:rofl:  
不管怎么说 star了:rofl:

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2023 年5 月 20 日 04:09 UTC](https://meta.appinn.net/t/topic/43782/3 "2023-05-20T04:09:30Z")

</div>

> [@differentrain](#):
>
> 研究了一两天才解决。

这太高效率了，一点也体现不出很难的样子 :dog:

---

<div class="post-metadata">

作者： ![Qingwa](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/qingwa/32/58632_2.png) [@Qingwa](https://meta.appinn.net/u/Qingwa)\
发布日期： [2023 年5 月 20 日 04:09 UTC](https://meta.appinn.net/t/topic/43782/4 "2023-05-20T04:09:45Z")

</div>

> [@Debatrix](#):
>
> 刚听到感觉很没用，稍微想想又感觉很有用，再仔细想想还是很没用 :rofl: :rofl:

哈哈哈哈我也这样觉得

---

<div class="post-metadata">

作者： ![differentrain](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/d/7ea924/32.png) [@differentrain](https://meta.appinn.net/u/differentrain)\
发布日期： [2023 年5 月 20 日 04:37 UTC](https://meta.appinn.net/t/topic/43782/5 "2023-05-20T04:37:14Z")

</div>

你想，这种1年用不了2次的东西，花了两天时间解决一个小问题，是不是挺 :rofl:的。  
其实最开始我想用它替代回收站，但想想觉得太暴躁就算了，毕竟数据无价……

---

<div class="post-metadata">

作者： ![YuJar](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/y/977dab/32.png) [@YuJar](https://meta.appinn.net/u/YuJar)\
发布日期： [2023 年5 月 20 日 08:32 UTC](https://meta.appinn.net/t/topic/43782/6 "2023-05-20T08:32:04Z")

</div>

这玩意，对于公司网管来说，用处大大的！有些人整的乱七八糟的东西，真的是牛皮癣！

---

<div class="post-metadata">

作者： ![zaonie](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/zaonie/32/14754_2.png) [@zaonie](https://meta.appinn.net/u/zaonie)\
发布日期： [2023 年5 月 20 日 13:47 UTC](https://meta.appinn.net/t/topic/43782/7 "2023-05-20T13:47:07Z")

</div>

好东西以前一直在用unlocker或Iobit unlocker

---

<div class="post-metadata">

作者： ![jxcangel](https://meta-edge.appinn.com/user_avatar/meta.appinn.net/jxcangel/32/46962_2.png) [@jxcangel](https://meta.appinn.net/u/jxcangel)\
发布日期： [2023 年5 月 23 日 04:24 UTC](https://meta.appinn.net/t/topic/43782/8 "2023-05-23T04:24:13Z")

</div>

你的选择和我一样，我用好久 unlocker 了，好几次用它们删文件把系统搞蓝屏了，不过正常情况下还真的是有用

---

<div class="post-metadata">

作者： ![275423729](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/2/f1d935/32.png) [@275423729](https://meta.appinn.net/u/275423729)\
发布日期： [2025 年3 月 3 日 00:58 UTC](https://meta.appinn.net/t/topic/43782/10 "2025-03-03T00:58:21Z")

</div>

感觉很有用啊。用过不少删除工具，说是能删除顽固文件，其实还是不能删除。这个一下子就删除了。感谢作者。有一个问题想请教下，有没有命令行参数可以一行命令就可以操作完成？目前是要拖入文件，或者右键加入删除列表，然后再在界面上点删除操作，需要多步完成。要是命令行操作，一步完成就更方便了。

---

<div class="post-metadata">

作者： ![Aquamarine](https://meta-edge.appinn.com/letter_avatar_proxy/v4/letter/a/22d042/32.png) [@Aquamarine](https://meta.appinn.net/u/Aquamarine)\
发布日期： [2025 年3 月 3 日 01:24 UTC](https://meta.appinn.net/t/topic/43782/11 "2025-03-03T01:24:48Z")

</div>

软件最后更新在2023年，当然这软件应该也不需要频繁更新。  
为了少用一款软件，我都是靠进程管理器去操作。
