请教:如何用python强行删除windows下顽固文件

请教:如何用python强行删除windows下顽固文件

Windows下常常会有些顽固文件无法删除,尝试了各种办法都不行。比如,我的电脑上有个文件(可能是病毒遗留文件): ‘c:/autorun.inf'

我想写个Python脚本来删除这类文件,可是不能实现。

一下办法均失效:

[Copy to clipboard] [ - ]
CODE:
file = open('c:/autorun.inf','rw')
os.remove(file)



[Copy to clipboard] [ - ]
CODE:
os.remove('c:/autorun.inf')

请教各位是否也遇到过这种情况。有什么办法解决吗?
非常感谢!

os.system('attrib -s -h /s c:/autorun.inf')
os.remove('c:/autorun.inf')
试试这个……不过如果是病毒引起的,删了还是会写回去的……


QUOTE:
原帖由 jjj137 于 2008-11-17 13:03 发表
os.system('attrib -s -h /s c:/autorun.inf')
os.remove('c:/autorun.inf')
试试这个……不过如果是病毒引起的,删了还是会写回去的……

多谢楼上的回复,可是还是不行。是不是第一句

[Copy to clipboard] [ - ]
CODE:
os.system('attrib -s -h /s c:/autorun.inf')

无效呢?

[Copy to clipboard] [ - ]
CODE:
Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    os.remove('c:/autorun.inf')
WindowsError: [Error 5] : 'c:/autorun.inf'

这个……跟python没啥关系吧。
openfiles查看一下打开文件的进程,要先把这个进程干掉,才能删那文件


QUOTE:
原帖由 jiangpeng311 于 2008-11-17 13:33 发表
openfiles查看一下打开文件的进程,要先把这个进程干掉,才能删那文件

请问openfiles怎么用? 是python内建的函数,还是要windows的API?

C:\Documents and Settings\Administrator>openfiles /?

OPENFILES /parameter [arguments]

描述:
    允许管理员列出或中断系统上已打开的
    文件和文件夹。

参数列表:
    /Disconnect      中断至少一个打开的文件的连接。

    /Query           显示所有本地打开的或从共享文件夹打开的文件。

    /Local           启用或停用显示本地打开的文件。
                     注意: 启用这个标志将添加性能耗用。

例如:
    OPENFILES /Disconnect /?
    OPENFILES /Query /?
    OPENFILES /Local /?
好像跟python关系不大吧。。。。2楼说的那个就是把文件的系统和隐藏属性改了。这个直接在cmd里面直接打就是了,完了在用del  c:\autorun.inf  命令删除。看上去像是U盘病毒,这个跟进程貌似没什么关系,它只是在你双击C盘时启动别的病毒程序,之后就没在进程里了,除非稍微多写了几句。你建一个autorun.inf的文件夹,再在里面建一个名字为 a....  的文件。再删除那个病毒文件后应该不会再生成了。实在不行改下注册表,网上搜下。。。。等楼下高手指点
如果是想做杀毒工具的话,光靠这几句肯定是不够的,要从根本抓起。


QUOTE:
原帖由 jjj137 于 2008-11-17 16:12 发表
如果是想做杀毒工具的话,光靠这几句肯定是不够的,要从根本抓起。

呵呵,不是想做杀毒工具。只是想用python来完成一些日常工作。突然发现居然删除不了文件。不过我想python脚本应该有办法,强行删除文件的吧。就像Linux下的

[Copy to clipboard] [ - ]
CODE:
rm -f

. (我现在在公司电脑,windows平台)。windows下的命令行工具不太好用。遇到这类问题的朋友,请写下你的解决办法。多谢!