下面写的内容其实方法太复杂了,最近发现了一个最简单的方法,就是在桌面上新建一个bat文件,比如shanchu.bat,内容是:

DEL /F /A /Q \\?\%1
RD /S /Q \\?\%1

然后保存,把有问题的文件夹拖动到这个bat文件即可。这个办法只适用于文件夹,要是文件有问题,要直接删除此文件所在的文件夹,可把其他好的文件先转移出来,再整个删除有问题的文件夹。

今天碰到了一个比较难对付的问题,客户的不少空间被植入了病毒代码文件,照理说植入病毒文件到算正常,但是这次比较特殊。

植入的是带点、引号、括号、等于号等特殊字符的文件夹,打不开,提示什么引用了一个不可用的位置。这个***着实变态,而且还在这个文件夹里面放了一个变态的病毒文件,con.asp,我查了一会网上资料才知道,con这个属于系统保留字符,也就是不能用这个作为文件名或者文件夹名称的。一个例子就是 k’0ozr0′oe.\con.asp 这样的文件夹和文件,我查了好半天资料才知道如何删除。

文件夹还算好办,这个带点的文件夹一般是不能建立的,***是通过DOS命令建立的,也不能打开。我查了一会网上的资料,知道了打开文件夹的办法。先进入命令行DOS模式,进入这个带点文件夹所在的目录,比如D:\www.zhaomu.com\youdomain\wwwroot,然后用dir /x命令查看这个带点文件夹的实际路径,比如上面的k’0ozr0′oe.就是k’0ozr~1,也就是取前6位,然后加上~1,这样用cd k’0ozr~1就可以进入文件夹了,如果要删除文件夹的话,用rd k’0ozr0′oe..\命令,也就是在后面加上.\,如果文件夹里面有文件,用rd k’0ozr0′oe..\ /s/q,也就是在安静状态删除里面文件。

今天我碰到的问题是,这个变态的文件夹里面的文件也很变态,删除不了,所以用rd /s/q删除会提示错误的,也就是说必须先删除里面的文件,再用不带/s/q的rd命令删除文件夹。里面的文件是如何变态呢,是con文件,con是系统的保留文件,也就是说你一般在windows里面新建文件或文件夹,用这个名称是不行的,不相信你可以试一下,会提示错误,这个估计也是***通过DOS添加进去的。

那么,如何删除这样的con文件呢。我也查了一下资料,还是通过google.com英文资料查到的,用 del \\?\具体路径 的办法,也就是删除网络路径,比如具体路径是D:\wwwroot\youdomain\wwwroot\k’0ozr0′oe.\con.asp,那删除命令就是

del \\?\D:\wwwroot\youdomain\wwwroot\k’0ozr~1\con.asp

然后再用 rd D:\wwwroot\youdomain\wwwroot\k’0ozr~1 删除文件夹命令,这样就彻底解决了。

不过后面我还碰到一个更变态的,文件夹名称是(&’='&). 用加上~1的方法不行,后来尝试多次应该加上”",也就是cd “(&’_'&~1″可以进目录(用dir /x 看实际文件夹名称=变成了_)。这种情况下我先把这个目录改名了,改成一个正常的文件夹,命令是ren “(&’_'&~1″ zhengchang,然后再用del \\?\命令删除里面的文件,再删除文件夹即可。