ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 3834|回复: 14

[分享] 一个无敌删除的命令

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-10-2 09:56 | 显示全部楼层 |阅读模式
本帖最后由 咊崋潤傑 于 2011-12-19 19:48 编辑

一个无敌删除的命令(有原理介绍)告诉大家一个无敌删除的命令,任意无法删除的文件都能删除

新建 文本文档 写入下列命令:

DEL /F /A /Q \\?\%1

RD /S /Q \\?\%1

另存为"xxxxx.bat"

然后,要把要删除的文件或者目录拖放到这个bat文件的 图标 上就可以删除了。不信大家试试啊。



原理解释:DEL删除文件命令;/F是强制删除只读属性文件;/A 不带属性参数(/A:xx)时可以无视除了只读属性外的其他属性(如系统属性);/Q是自动跳过确认;RD删除文件夹及文件夹树命令;/S是说明删除文件夹树(如果文件夹有文件或子文件夹没加这个参数会提示文件夹非空而不能删除。。);/Q也是自动跳过确认。当把文件(eg. test.txt 全路径:"d:\test.txt")拖到bat文件图标上松手时,其实这时候等效于执行了(假设bat文件路径为d:\gd.bat):
     "d:\gd.bat "d:\test.txt""
    此时"d:\test.txt"作为gd.bat 的第一个执行命令行参数,而%1就是代表这一串字符的变量所以实际执行的情况是:
-----------------------------------
>@echo off [!enter!]

>@DEL /F /A /Q \\?\"d:\test.txt" [!enter!]

>@RD /S /Q \\?\"d:\test.txt" [!enter!]
系统找不到指定的文件
----------------------------------
当然,这时候del已经干掉了文件,rd当然找不到,两个命令都用就是为了适应各种情况。

不过为什么不直接用全路径而是用"\\?\"+全路径呢?这是一个特别协议的应用,这个特别协议就是UNC -- Universal Naming Convention) ,中文是“通用命名规则”,简单说就是\\hostname\resouce_or_path这样的路径,在winnt及之后基于其技术的系统中可以理解为资源的完整名称。另外,完整的UNC格式要把"file:"前缀加上,不过在不同环境下有时候可以省掉有时候又必须省掉。本例中的"\\?\"+完整磁盘路径名是UNC的特殊本地化实例,其实因为在UNC中?是代表1个或0个字符的通配符,所以其实际执行的命令并不是?而是.简单说就是一个对本地的引用,本地计算机根(又点根目录的感觉)。简单的说,它们是网络根,所以把?替换成localhost或者127.0.0.1会发现命令无效。这里提一个UNC绝对路径的特别属性,貌似从WINNT时代延续至今。。即:采取UNC绝对路径定位文件或者文件夹得时候,系统会无视其中的系统保留字或者设备名、带有特殊字符保护的文件系统控制文件名称。所以,用这样的技巧可以删除一些原先无法删除的文件或者文件夹(除开正在运行、引用的、没有相应的删除/更改权限的[这个尚不明原因,NTFS太厉害了?]、专门技术保护的)

提醒一点,谨慎使用,在文件名包含某些特殊字符时有误删除的潜在危险!
设h:是一个u盘,下面有一个fdel.bat:

DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

同时h:下还有一个名为 &1.txt  的文本文件,此时你想用 fdel.bat 删除 &1.txt,当你把 &1.txt 拖到
fdel.bat 上后,h:下的所有的文件和文件夹将全部不复存在。这正是特殊字符"&"(另:"^&"也有类似效果)的作用了(执行的时候变成了rd /s /q \\?\"h:\&1.txt",&的前后会并列,于是h:\被清空,然后才是定位1.txt以便删除。

所以,该bat很强大很简洁,但是一定不要用于删除文件名中(尤其是文件名首字符为&或^&)的文件或文件夹,否则可能造成误删除。  


(有原理介绍)告诉大家一个无敌删除的命令,任意无法删除的文件都能删除

新建 文本文档 写入下列命令:

DEL /F /A /Q \\?\%1

RD /S /Q \\?\%1

另存为"xxxxx.bat"

然后,要把要删除的文件或者目录拖放到这个bat文件的 图标 上就可以删除了。不信大家试试啊。



原理解释:DEL删除文件命令;/F是强制删除只读属性文件;/A 不带属性参数(/A:xx)时可以无视除了只读属性外的其他属性(如系统属性);/Q是自动跳过确认;RD删除文件夹及文件夹树命令;/S是说明删除文件夹树(如果文件夹有文件或子文件夹没加这个参数会提示文件夹非空而不能删除。。);/Q也是自动跳过确认。当把文件(eg. test.txt 全路径:"d:\test.txt")拖到bat文件图标上松手时,其实这时候等效于执行了(假设bat文件路径为d:\gd.bat):
     "d:\gd.bat "d:\test.txt""
    此时"d:\test.txt"作为gd.bat 的第一个执行命令行参数,而%1就是代表这一串字符的变量所以实际执行的情况是:
-----------------------------------
>@echo off [!enter!]

>@DEL /F /A /Q \\?\"d:\test.txt" [!enter!]

>@RD /S /Q \\?\"d:\test.txt" [!enter!]
系统找不到指定的文件
----------------------------------
当然,这时候del已经干掉了文件,rd当然找不到,两个命令都用就是为了适应各种情况。

不过为什么不直接用全路径而是用"\\?\"+全路径呢?这是一个特别协议的应用,这个特别协议就是UNC -- Universal Naming Convention) ,中文是“通用命名规则”,简单说就是\\hostname\resouce_or_path这样的路径,在winnt及之后基于其技术的系统中可以理解为资源的完整名称。另外,完整的UNC格式要把"file:"前缀加上,不过在不同环境下有时候可以省掉有时候又必须省掉。本例中的"\\?\"+完整磁盘路径名是UNC的特殊本地化实例,其实因为在UNC中?是代表1个或0个字符的通配符,所以其实际执行的命令并不是?而是.简单说就是一个对本地的引用,本地计算机根(又点根目录的感觉)。简单的说,它们是网络根,所以把?替换成localhost或者127.0.0.1会发现命令无效。这里提一个UNC绝对路径的特别属性,貌似从WINNT时代延续至今。。即:采取UNC绝对路径定位文件或者文件夹得时候,系统会无视其中的系统保留字或者设备名、带有特殊字符保护的文件系统控制文件名称。所以,用这样的技巧可以删除一些原先无法删除的文件或者文件夹(除开正在运行、引用的、没有相应的删除/更改权限的[这个尚不明原因,NTFS太厉害了?]、专门技术保护的)

提醒一点,谨慎使用,在文件名包含某些特殊字符时有误删除的潜在危险!
设h:是一个u盘,下面有一个fdel.bat:

DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

同时h:下还有一个名为 &1.txt  的文本文件,此时你想用 fdel.bat 删除 &1.txt,当你把 &1.txt 拖到
fdel.bat 上后,h:下的所有的文件和文件夹将全部不复存在。这正是特殊字符"&"(另:"^&"也有类似效果)的作用了(执行的时候变成了rd /s /q \\?\"h:\&1.txt",&的前后会并列,于是h:\被清空,然后才是定位1.txt以便删除。

所以,该bat很强大很简洁,但是一定不要用于删除文件名中(尤其是文件名首字符为&或^&)的文件或文件夹,否则可能造成误删除。  


                                                                                                                                                                                 摘自:电脑爱好者俱乐部



TA的精华主题

TA的得分主题

发表于 2011-10-3 09:22 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
强大!学习!膜拜!

TA的精华主题

TA的得分主题

发表于 2011-10-7 22:15 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-11-4 08:18 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-11-7 04:36 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
到WINPE下面去删除,那简直一杀一个准呐~!

TA的精华主题

TA的得分主题

发表于 2011-11-11 08:44 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
楼主,用format试试。

TA的精华主题

TA的得分主题

发表于 2011-11-15 14:06 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
试了一下,果然凑效!

TA的精华主题

TA的得分主题

发表于 2011-11-18 23:16 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
乖乖 真犀利~

TA的精华主题

TA的得分主题

发表于 2011-11-19 01:55 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2011-11-19 08:11 | 显示全部楼层
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-5-24 03:35 , Processed in 0.033248 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表