一、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命令查看该文件夹的别名,如下图:


  1. 上图中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这样的语句),一不小心可能会全盘删除。


注意事项
  • Windows 9X无法识别“不可显示的 ASCII 字符”作为文件名

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

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

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

  • 把驱动器盘符改成中文看看


参考资料

http://www.metsky.com/archives/272.html