LOGIN用户登陆

  • 登陆后您可以:
  • 记录生活瞬间
  • 拥有个人相册
  • 用日志写心情
  • 创建群组圈子
  • 分享音乐电影

GAME娱乐设施

  • 开心农场
  • 潮男潮女
  • 奴隶买卖
  • 在线斗地主
  • 网络扑克对战
  • 人在江湖
  • 争夺车位
  • 心理测试
  • 笑傲江湖
  • 酷狗音乐盒
  • 动物连连看
  • 旅行足迹
  • 游戏厅
  • 更多游戏
  • 更多游戏

创建系统无法删除的文件夹 加密文件

已有 156 次阅读  2009-11-05 10:52   标签特殊文件夹  加密 
大家都知道在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状态下是不能被删除的,为此善于使用设备文件夹,我们有时能可以用它来保存一些重要的信息,以防止这些信息被他人随意删除掉。

说明:以下操作在XP SP3系统下完全实现,但我在windows 2008 Ent SP2中验证时无法进入文件夹……

利用命令行工具(cmd)可以创建一些特殊的文件夹,在资源管理器里无法打开也无法删除,而且不管里面有多少个文件,大小和占用空间永远显示为0!

创建步骤如下:

第一步:在运行中输入cmd,回车,打开命令行窗口;

第二步:在命令行中切换到想要建立特殊文件夹的目录,如D盘根目录;

第三步:输入 md love..\ 回车,注意文件夹名后有2个小数点和一个反斜杠\(要创建这类特殊文件夹,小数点的数目大于2即可);

好了,看看你的D盘下面是不是多了一个名为love.的文件夹了(在windows 2008 Ent中会完整显示正确的文件夹名称love..)?一般的双击操作与删除操作对它无效,既不能进入又不能删除!

如果想删除,在命令行窗口中输入 rd love..\回车,即可删除。如果里面有文件,会提示为非空目录,可以加上参数/s强行删除。

如果想进入,在命令行窗口中输入start d:\love..\(注意一定要是文件夹的绝对路径)即可打开此文件夹(此操作在windows 2008 Ent中无效),你可以随心所欲的把不想让别人看到的资料放进去啦!

参考资料:rd命令的两个参数

/s:除目录本身外,还将删除指定目录下的所有子目录和文件。用于删除目录树。

/q:安静模式,带/s删除目录时不要求确认。

一些现象:

1、如果在资源管理器中强行把文件拖到(移动或复制到)特殊文件夹上面,则会创建一个“同名”但没有小点的普通文件夹,并且文件会保存在普通文件夹里。此时这两个同名文件夹都可以打开,但实际上打开的都是名字没有小点的那个普通文件夹。如果删除掉名字有小点的特殊文件夹,则实际上删除的是名字没有小点的普通文件夹。刷新一下,则名字没有小点的普通文件夹又变成了名字有小点的特殊文件夹。

2、使用命令“start 绝对路径”打开特殊文件夹后,往里面存放文件时,会在外面新建一个同名但没有小点的空文件夹。此时存放的文件都保存在特殊文件夹里。

以上得出结论:必须打开特殊文件夹的窗口,才能往里面存放文件,否则都会存放在同名的普通文件夹中。

09-08-25更新:以上操作在win7旗舰版下完全实现,但仍然跟XP下的情况略有不同:

1、win7系统下可以直接打开love..文件夹,也可以直接往里面复制和删除文件,不用再在命令行中输入start命令来打开文件夹窗口。当然,这样的文件夹仍然不能直接删除,必须使用rd命令。所以win7系统下,这种特殊文件夹已经没有原来的作用了;

2、往love..文件夹里面复制文件,则会创建love文件夹,此时打开任一文件夹都只能看到love文件夹里的内容。要想看到love..文件夹里的内容,只能删除掉love文件夹。