分享创建系统无法删除的文件夹(加密文件)
大家都知道在Windows中“/”符号是路径的分隔符号,比如“C:/Windows/”的意思就是C分区中的Windows文件夹,“C:/Windows/System.exe”的意思就是C分区中的Windows文件夹中的System.exe文件,好继续我们假设一下:
如果文件名中有“/”符号会怎么样呢?假如“S/”是一个文件夹的名字,这个文件夹位于:“F:/”,他的路径就是“F:/S/”,当我们试图访问的时候Windows会错误的认为我们要打开的文件是C分区的S文件夹,这样Windows就无法打开并且会返回一个错误,因为以上的路径并不存在。
也许你现在正在尝试创建“S/”文件,但是Windows会提示你:“/”符号是不能作为文件、文件夹的名字的。看来Windows还是早已想到这一点了的。OK我们继续进行,就不信不能建立包含“/”符号的文件。现在打开你的电脑,我们要做一些很有趣的尝试。进入Windows后 点击:开始>运行 然后输入“cmd”并会车(如果是Win98请输入“COMMAND”),这时你会看到Windows的命令控制台,我们就是要利用它完成我们剩下的测试,以下包含了很多命令其中{}中的字符是我的注释:
----------------------------------------------
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
F:/Test>mkdir s/ {我们的第一次尝试,结果Windows只创建了S文件夹"/"被忽略掉了}
(H0F:/Test>mkdir s/s1/ {还是失败,Windows先创建了S文件夹,然后在S内创建s1文件夹}
F:/Test>mkdir s./ {"s./"被解析成S"./"又被忽略了}
子目录或文件 s./ 已经存在。
F:/Test>mkdir s../ {终于成功了,现在你可以在资源管理器看到"s."但却无法打开/删除}
F:/Test>mkdir s.../ {又成功了,在资源浏览器能看到"s.."可以打开但是无法删除}
----------------------------------------------
为什么会这样?我们先说你看到的这个“S.”文件夹,他即不能打开也不能删除,不能打开是因为他的实际路径是“F:/Test/s../”(我们自己创建的所以可以确定他的实际路径)但是在Windows资源管理器中名字变成了“S.”也就是说当你试图打开它的时候Windows实际上尝试打开“F:/Test/s./”当然是不能打开的,文件并不存在,所以Windows会报错。不能删除也是因为这个,Windows把一个实际存在的文件路径错误的解析为一个不存在的路径,并进行操作当然是无法完成的。
该说“S..”这个文件了,这个文件可以打开,但是却无法删除。等等……打开?你以为Windows真的是打开了我们创建的“s.../”文件了吗?我们做下面的试验你就明白了。还是老规矩{}是我的注释方便大家理解:
----------------------------------------------
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
F:/Test>echo 1 > Txt1.txt {创建“F:/Test/Txt1.txt”文件}
F:/Test>copy Txt1.txt s../ {复制刚刚创建的文件到“s../”,就是资源管理器的“S.”}
已复制 1 个文件。
F:/Test>echo 2 > Txt2.txt {创建“F:/Test/Txt2.txt”文件}
F:/Test>copy Txt2.txt s../ {复制刚刚创建的文件到“s.../”,资源管理器的“S..”}
已复制 1 个文件。
---------------------------------------------
现在回到你的资源管理器打开“S..”文件夹,你看到了什么?“Txt1.txt”文件怎么会在这里?我们刚刚的确复制到了“S.”呀?难道我们打开“S..”文件夹实际上就是打开了“S.”?不错事实就是这样。其实如果你再创建一个“S”文件夹的话“S.”就能打开了,但是实际上打开的是“S”。
“我该怎么删除它呢?”,删除它也不算很难,但是常规的方法是绝对删不掉的。有两种方法可供选择:1;进入DOS删除(不推荐)。2;还是进入命令提示符然后输入“rmdir 目录名”,目录名就是你创建的时候的名字,如果忘记了可以先在资源管理器查看,然后加上“./”。如果提示“文件夹不是空的”应该加上“/s”参数。删除实例:
----------------------------------------------
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
F:/Test>dir
驱动器 F 中的卷是 BGTING
卷的序列号是 2C8E-FE1C
F:/Test 的目录
1 个文件 9 字节
个目录 3,390,029,824 可用字节
F:/Test>rmdir s..目录不是空的。
F:/Test>rmdir s../ /s
s../, 是否确认(Y/N)? y
F:/Test>rmdir s.../ /s
s.../, 是否确认(Y/N)? y
总结:
1;在Windows中创建“X../”文件夹后该文件夹将无法通过常规方法删除,但是却可以Copy文件进去,在资源管理器显示为“X.”,错误的指向“X”文件夹。(嘿嘿,怎么有点像快捷方式?)
2;创建“X../”的方法是在命令行输入“mkdir X../”。
删除它的方法是在命令行输入“rmdir 目录名”,目录名就是你创建的时候的名字,如果忘记了可以先在资源管理器查看,然后加上“./”。如果提示“文件夹不是空的”应该加上“/s”参数。
--------------------------------------------------------------------------------------------------
创建空名文件夹
这里所说的空名文件夹,主要指的是文件夹名称为空白,具体地说就是文件夹的名称为空格字符,这类特殊文件夹不仅可以在MS-DOS窗口中被正常访问,而且还可以在Windows窗口中被访问到,甚至我们能借助WinZip之类的压缩工具来对其进行压缩或解压缩操作。尽管在Windows界面中创建一个空名文件夹是一件非常简单的事情,事实上我们可以转换思路,进入到MS-DOS窗口并利用已经久违了的“md”命令,也能创建名称为空格的特殊文件夹,下面就是具体的创建步骤:
首先单击系统桌面中的“开始”按钮,并执行“开始”菜单中的“运行”命令,在弹出的系统运行对话框中,输入字符串命令“cmd”,单击回车键后,将系统状态切换到DOS命令行状态;}
其次在MS-DOS窗口的命令行提示符下,通过“cd”命令进入到要创建空白文件夹所在的目录,之后在DOS命令行下再输入字符串命令“md+空格”,紧接着按下键盘上的Alt功能键,同时在数字小键盘上直接输入数字“255”,这样一来空格字符的ASCII码就会自动出现在“md”命令之后,单击回车键后,在指定目录下一个名称为空白的特殊文件夹就出现了。善于使用空白文件夹,我们有时能将一些重要的隐私信息隐藏其中,从而实现保护隐私安全的目的。
2、创建设备文件夹
尽管在Windows状态下我们也能创建一些由若干空格组成的空名文件夹,不过还有一些更为特殊的文件夹,我们就无法在Windows窗口界面中直接创建了,比方说控制台设备文件夹“con”,打印机设备文件夹“prn”等等;当我们尝试在Windows状态下创建“con”、“prn”这类特殊文件夹时,计算机往往会擅自做主地将文件夹名称更为“新建文件夹”。很明显,要完成以系统设备名称作为文件夹名的特殊文件夹创建工作,必须使用特殊的创建技巧才行。
要做到这一点,我们只要按照如下步骤就可以了:
首先单击系统桌面中的“开始”按钮,并执行“开始”菜单中的“运行”命令,在弹出的系统运行对话框中,输入字符串命令“cmd”,单击回车键后,将系统状态切换到DOS命令行状态;
其次在MS-DOS窗口的命令行提示符下,通过“cd”命令进入到要创建空白文件夹所在的目录,之后在DOS命令行下再输入字符串命令“md+设备名+/”(如图所示),单击回车键后,在指定目录下一个名称为空白的特殊文件夹就出现了。考虑到设备文件夹在Windows状态下是不能被删除的,为此善于使用设备文件夹,我们有时能可以用它来保存一些重要的信息,以防止这些信息被他人随意删除掉。