Keep on going, never give up.

Windows非法文件的创建和删除

在Windows平台上对文件和文件夹命名是不能使用\/:*?"<>|等特殊字符的,但我们可以利用这个系统BUG在命令行模式下创建包含这些字符的文件或文件夹,Windows平台对包含这类特殊字符的文件或文件夹处理就有点“乱”,一般来讲,实际显示的名称都不是真实的文件名,所以一旦进行删除等操作时,就会报告“无法删除文件”、“找不到路径”等等错误。很多软件正是利用这点,对某些文件进行隐藏或“加密”,当然了,看完本文后你也一样会使用,可以忽悠一下新手。

一、DOS命名规则与Windows命令提示符

1、DOS系统下的文件名规则

A、文件名由1~8个字符组成,字符可包含英文字母、数字和一些特殊字符,但是不能包含*,?.<>:;[]|等特殊字符;文件名不区分大小写且文件名中间不可包含空格;

B、扩展名由0-3个字符组成,无空格和特殊字符;

当实际文件名超出8.3格式时,需进行DOS下的文件夹或文件名缩写显示,规则如下:文件名前6个字符+~1正好是8个字符作为文件名,如果前六个相同的,依次用~2、~3、~4累加,如果文件名中有空格则会自动去掉,向后移位计算(一个中文字算两个字符)。

2、Windows系统下的命令提示符:

windows下的命令提示符只是模拟DOS特性但非环境,支持大部分DOS操作并加入“独家”的大量快捷管理功能,实际仍然是按照WIN32模式运行的,所以大部分的纯DOS实模式下程序都是无法在命令提示符下运行的,总结起来,实际Windows的命令提示符是个山寨版“DOS系统”。

二、Windows下非法文件的创建和删除

我们从上文可以看出,实际上DOS系统也是禁止使用一些特殊字符作为文件名的,当然Windows控制更加严谨,所以允许使用非法文件名是应该来说是NT系统的一个BUG,当然也不排除是微软有意留的特殊私密用途,一直到Windows 7上都没把这个“问题”改善“,是不是有意的只有天知道。下面看一下几种非法文件的创建和删除。在”开始“菜单——”运行“,输入cmd,回车即可进入,下面的小标题中现象均指在Windows explorer下显示情况。先把典型的报错图贴出来:

图1——无法删除文件出错图

图2——典型的打开错误图

 

1、可见、无法打开、无法删除的非法文件

创建

G:\>md test..\

注:Windows显示test.,无法打开,无法删除

拷贝

G:\>copy metsky.txt test..\

打开

G:\>start G:\test..\

要打开该类型文件,还可以通过dir /x命令查看该文件夹的别名(类似:AE216~1这样的名字),然后在运行里或浏览器中直接输入G:\别名回车也可打开。

删除

G:\>rd test..\

G:\>rd /S /Q test..\

注:带/S参数表示删除目录树,相当于DELTREE,带/Q表示删除不再确认。

改名

使用dir /x命令查看该文件夹的别名,如下图:

上图中a..\的文件夹别名是ae216~1,所以我们可以通过其别名进行改名,如下:

rename ae216~1 b

这样就可以把该文件改为正常名字。

2、可见、可打开、不可删除的非法文件

创建

G:\>md "test / "

注意,例句中有空格,该文件可见,可打开,可在该文件夹下创建、拷贝、删除文件,但不可删除。

打开

G:\>start G:\test..\

删除

G:\>rd "test / "

3、隐藏、不可打开的非法文件

在DOS系统中(实际上WINDOWS系统和LINUX也可以使用),“.”代表当前目录,“..”代表上级目录,正式利用这点,来创建混淆目录。

创建(FAT可以,NTFS不可以)

G:\>md ...\

注:该文件夹在windows上不可见、不可打开、不可删除。

打开

G:\>start G:\...\

删除

G:\>rd ...\

 

如果大家遇到类似的文件或文件夹(天缘知道矮人工具箱和一键还原就喜欢整这个隐藏文件夹),就可以采用上述方法进行删除,当然你也可以使用专门的工具比如冰刃、Unlocker、文件粉碎机等等,进行删除。

为了安全起见,请您谨慎使用带有匹配符的DOS删除语句(类似del /f /a /q \\?\%test这样的语句),一不小心可能会全盘删除,本文不再介绍。

补充:

1、Windows 9X无法识别“不可显示的 ASCII 字符”作为文件名

2、Windows XP不识别文件名使用UNICODE 字符

3、保留设备名作为文件名从VISTA开始取消限制

4、超长文件目录名(超过255字节,如在Win平台输入最多输入244个字节)可能会让系统死机

5、把驱动器盘符改成中文看看

 

如果还想深究一下,还可以做做下面的试验。

1、目录下再创建个“同名文件夹”的显示效果

2、在“同名文件夹”下相互拷贝数据及拷贝数据后的现象

3、删除某个文件夹后另一个文件夹的特性变化

4、......

 

更多文章:

Windows系统垃圾文件种类及清理办法

如何选择内存及识别内存容量

如何批量删除图片缩略图Thumbs.db文件

关于电脑维护和使用习惯方面文章汇总推荐

如何使用UltraISO和Nero刻录可引导光盘镜像

网络带宽、上传下载、连接数、迅雷ED2K链接的概念

相关评论(0):  

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

最新文章

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载也必须遵循“署名-非商业用途-保持一致”的创作共用协议. 返回顶部
Copyright@2005-2016 Metsky.com, All rights Reserved.