分隔符号比如“D:\Windows\”的意思就是D分区中的Windows文件夹,“D:\Windows\Dmd.exe”的意思就是D分区中的Windows文件夹中的Dmd.exe文件。
那么,如果文件名中有“\”符号会怎么样呢?假如“A\”是一个文件的名字,这个文件位于“D:\”(D盘),则它的路径就是“D:\A”,当我们试图访问这个文件的时候Windows会错误地认为我们要打开的文件是D分区的A文件夹,这样Windows就无法打开并且会返回一个错误,因为以上的路径并不存在.
当然在Windows窗口下尝试创建“A\”文件,但是Windows会给出提示:“\”符号是不能作为文件或者文件夹的名字的。也就是说Windows还是早已想到这一点了的。不过事实真的是这样吗?显然是否定的。微软的程序员编写操作系统的时候把DOS下用MKDIR命令建立文件的时候忽略了这个问题,仅仅只是注意到了图形化界面中文件的建立。
命令行的精巧之处多着呢。这里整理一下建立畸形目录技巧
1.不可显示ASCII字符
记得在目录名中加入alt+255 alt+160等不可显示的ASCII字符,在Win9x中就可能不能打开了~~
2.UNICODE字符
在XP中新建文件夹,编辑目录名,右键,插入Unicode控制符,随便选一个,看看~~显示长度为0的文件夹建好了。(如果再把文件夹图标改成 透明………嘿嘿)
3.加点
建立:在cmd里输入 md D:\est..\
访问:运行 D:\est..\
混淆:建立 D:\est\。这样每次打开 D:\a..\目录就自动进入了 D:\a\目录~~
删除:rd D:\est..\
以上是加两个点,其实可以加3个、四个……
4.建立空格目录名
建立: 用 md "By est \ \",注意:est后面有个空格的哦!原则就是畸形目录名后加一个 \ \ ,即 \空格\。
访问:对于建立好的目录在explorer中可以直接访问,cmd中用 cd "By est \ \"
删除: rd /s /q "\\.\D:\By est \" 。最好加一个引号,否则你会死的很惨!
5.保留设备名
建立:md D:\con\ (注意:后面的 \ 号!!不能少!!)
访问:XP下直接访问。但是无法在explorer中直接删除目录。2k中用 运行 D:\con\。9x中未知~~应该无法访问
删除:rd /s D:\con\ (不行就用上面的 rd /s /q \\.\D:\con\)
其它的 aux com1 nul 等类推
注意:Vista里已经取消了这个限制。
6.超长目录名
其实也没什么技术含量,就是255字节以上的超长的文件名。Windows已经不能正常访问,但是 卡吧死机 可以~~~汗~~~
7.畸形盘符(不知道走题没)
这里将的盘符就是平时大家熟悉的 C: D: E:,和大家熟悉的命令subst。两者结合你还熟悉不?请看下例:
subst T: C:\windows 把T:映射为C:\windows目录
subst 1: C:\windows 看见没!用数字做盘符!!在NT Cmd下是完全合法的!
subst 晕: C:\windows 晕~用汉字做盘符~~
完整输入:
CODE:
subst 晕: C:\windows
晕:
dir
notepad 晕:\system.ini
C:
然后到“我的电脑”去看看?什么也没有!据测试,很多软件不能识别数字/中文盘符,所以如果把病毒映射到畸形盘符在运行,杀毒软件能杀吗?这是个问题!
8.可隐藏文件夹的 点 文件名
大家知道在DOS和其它OS中, . 代表当前目录, .. 代表上级目录,所以我们可以利用这点来建立畸形目录
建立: md "D:\...\"
访问:运行 D:\...\
删除:rd /s "D:\...\"
其实多加几个点无所谓,但是三个点似乎只能建立在非NTFS分区上! 在FAT分区上可以建立名为: . 和 .. 的文件夹,而资源管理器里就完全不可见了。
用以上方法建立的目录在纯DOS和explorer中几乎都不能正常访问和正常删除,所以可以用来加强目录的安全性和强壮性!
版权所有 中国DOS联盟原创贴