我有一个python程序,它应该清理许多目录,其中一个目录是C:\windows\system32\inetsrv\metaback
;但是,os.path.exists()
在该目录上返回False,即使它存在(并且我有访问它的权限)。在
有趣的是工具windirstat也完全忽略了它。在
有人能想出原因吗?我可以用另一种方法来检查它是否存在?我甚至不能在上面运行os.listdir()
。在
更新:os.path.exists()
如果Windows框是32位的,就可以在这个目录上工作,但是如果是64位的话就不行了。在windirstat的32位设备上也能正常显示。在
这是系统文件夹在工作时的重定向。When a 32-bit process is running on a 64-bit version of Windows and uses the path ^{}, Windows substitutes ^{}.
该函数返回false以告诉您
C:\windows\syswow64\inetsrv\metaback
不存在,并且很可能是绝对正确的。在试试看:
windowsx64的安全性比windowsx86要严格得多;尤其是在当前版本的os(72008)下。在
听起来你的脚本实际上没有运行所需的权限。一般来说,MS锁定了相当多的目录路径(如c:\inetpub),这些路径需要提升特权才能执行任何操作。在
这有很多原因,人们普遍认为这是一件非常好的事情。在
我相信您应该将您的脚本(或任何执行它的东西)标记为“以管理员身份运行”,以便赋予它更高的控制权。当然,这可能需要您通过UAC确认执行。在
有关详细信息,请访问服务器故障.com然后问那里。在
相关问题 更多 >
编程相关推荐