windows的命名约定中,路径组合的长度为260字节,但也提供了超长路径的统一访问支持,那就是添加可扩展UNC路径\\?\前辍的绝对路径,以便达到最大路径字节32767
\\?\表示了当前电脑的根目录,而各磁盘分区如同在资源管理器中那样,是处于我的电脑之下一阶当中的
\\?\在命令行中无法直接执行文件或切换目录,但大多数内部命令都可以支持这样的路径,例如dir echo start...
至于%1
是自身的意思!
你这个批处理,应该是一个删除脚本,把任何文件拖到该批处理上,它会自动删除这个文件!
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: 如果你想删除的文件夹中包含特殊路径,可能导致整个磁盘分区的数据全部被删除。因此,如果你还不能对这个命令了如指掌,不建议使用这样的命令。 附DEL命令解释:DEL,删除一个或数个文件。
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names 指定一个或数个文件或目录列表。通配符可被用来
删除多个文件。如果指定了一个目录,目录中的所
有文件都会被删除。
/P 删除每一个文件之前提示确认。
/F 强制删除只读文件。
/S 从所有子目录删除指定文件。
/Q 安静模式。删除全局通配符时,不要求确认。
/A 根据属性选择要删除的文件。
attributes R 只读文件 S 系统文件
H 隐藏文件 A 存档文件
- 表示“否”的前缀
如果命令扩展名被启用,DEL 和 ERASE 会如下改变:
/S 开关的显示句法会颠倒,即只显示已经
删除的文件,而不显示找不到的文件。