从python强制删除windows目录

2024-09-25 18:17:43 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
DirectoryInfo.Delete(True) Doesn't Delete When Folder Structure is Open in Windows Explorer

各位,我正在写一个python测试工具,项目的一部分是卸载一个应用程序,然后每晚重新安装。卸载任务的一部分包括删除数据目录。白天,测试人员/开发人员将登录到计算机上,偶尔会打开一个命令提示符和/或日志文件。这导致我的脚本失败,因为如果另一个进程有一个文件句柄,windows将不允许我删除该文件。在

我想知道是否有可能得到进程的pid,它保存在文件上,这样我就可以用WMI或类似的方法杀死进程?我不想让别人退出。在

如果这是不可能的,那么有没有一种方法,从python,强制所有用户注销,以获得一个系统,我的脚本可以继续工作,而不必等待我出现并杀死进程/注销用户?在

欢迎提出任何建议。我不是一个有经验的windows程序员。在


Tags: 文件方法用户脚本true进程windowsfolder
1条回答
网友
1楼 · 发布于 2024-09-25 18:17:43

看来sysinternals提供了解决方案。在

handle.exe完成了这项工作。在

执行一个系统调用(例如python中的subprocess模块)并在输出中搜索要删除的目录。获取pid,然后使用另一个对psKill.exe的系统调用终止进程。在

我还没有写的代码,但我已经通过了程序的命令喜欢和它的工作。用任何编程语言编写psTools的系统调用脚本应该很简单。在

相关问题 更多 >