[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[其他] [已解决]批处理强制删除顽固文件DEL /F /A /Q \\?\%1是何意?

  1. DEL /F /A /Q \\?\%1
  2. RD /S /Q \\?\%1
复制代码
这是网上看到的一个强力删除的批处理……不过后面的\\?\%1看不懂这\是代表转义?

回复 1楼 的帖子

这篇MSDN上的"Naming a file"看着有点晕,楼主参考下~
http://msdn.microsoft.com/en-us/library/aa365247.aspx
心绪平和,眼藏静谧。

TOP

windows的命名约定中,路径组合的长度为260字节,但也提供了超长路径的统一访问支持,那就是添加可扩展UNC路径\\?\前辍的绝对路径,以便达到最大路径字节32767

\\?\表示了当前电脑的根目录,而各磁盘分区如同在资源管理器中那样,是处于我的电脑之下一阶当中的

\\?\在命令行中无法直接执行文件或切换目录,但大多数内部命令都可以支持这样的路径,例如dir echo start...

TOP

原帖由 pusofalse 于 2009-2-6 01:31 发表
这篇MSDN上的"Naming a file"看着有点晕,楼主参考下~
http://msdn.microsoft.com/en-us/library/aa365247.aspx

我英文非常差,你都看头晕了,更何况我(+﹏+)~狂晕
3楼的回答明白了其含义,大致用途还是有点不懂

TOP

回复 4楼 的帖子

Q: 为什么rd /s /q \\.\h:\autorun.inf\这条命令为什么能删除包含畸形文件夹在内的所有文件夹?

\\.\理解为\\127.0.0.1\就行了,当然实际上是行不通的。
UNC的一个本地化特例。
?\可以理解成遍历,?是统配符,表示匹配0个或1个任意字符。
.\代表本地节点,在概念上来有点像磁盘根目录,也可以说成是计算机根目录。
所以dir \\.\C:\是可以被命令行解释器识别的,更可以跨盘符的来使用绝对路径引用,例如:
F:\>\\.\C:\windows\system32\cmd.exe
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
F:\>
使用UNC路径不会捡测路径中的保留字设备名称等,因此删除包含畸形文件夹在内的所有文件夹?。

Q: 为什么del /q /f /a \\?\%1可以删除所有文件?

A: UNC路径的一个特例。UNC路径就是符合 \\servername\sharename 格式,其中 servername 是服务器名,sharename 是共享资源的名称。?是统配符,表示匹配0个或1个任意字符。使用UNC路径不会捡测路径中的保留字设备名称等,因此可以用这种方法来删除特殊文件或目录。

Q: 为什么说这样的命令非常危险?

A: 如果你想删除的文件夹中包含特殊路径,可能导致整个磁盘分区的数据全部被删除。因此,如果你还不能对这个命令了如指掌,不建议使用这样的命令。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

一句话,支持长路径嘿嘿

TOP

这命令确实很恐怖- -
所以我也是极少使用

TOP

还有这么牛x的命令

TOP

?代表一个字符   \\127.0.0.1\  ,这个肯定说不通127.0.0.1好多字符了
\\服务器名\文件名  那服务器名也不可能是一个字符啊

TOP

返回列表