Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
即使在给予完全控制权后,也无法在windows上使用python文件删除文件_Python_Python 3.x_Iis_Window - Fatal编程技术网

即使在给予完全控制权后,也无法在windows上使用python文件删除文件

即使在给予完全控制权后,也无法在windows上使用python文件删除文件,python,python-3.x,iis,window,Python,Python 3.x,Iis,Window,我从备份中从一个功能齐全的服务器(Windows server R2-2012)恢复,它没有覆盖现有文件,而是创建了服务器中所有文件的副本 我编写了一个python(3.5.2)脚本来删除名为“2017-09-09 00-00\u Filename副本”的文件,但它仍然没有删除少数文件。 我的文件夹和子目录对我登录的帐户具有“完全控制权”。我可以手动删除文件,但我的脚本或批处理文件无法删除。我得到的错误是“权限被拒绝” 我也在管理模式下运行了批处理文件,但仍然没有效果 Python(3.5.2)

我从备份中从一个功能齐全的服务器(Windows server R2-2012)恢复,它没有覆盖现有文件,而是创建了服务器中所有文件的副本

我编写了一个python(3.5.2)脚本来删除名为“2017-09-09 00-00\u Filename副本”的文件,但它仍然没有删除少数文件。 我的文件夹和子目录对我登录的帐户具有“完全控制权”。我可以手动删除文件,但我的脚本或批处理文件无法删除。我得到的错误是“权限被拒绝” 我也在管理模式下运行了批处理文件,但仍然没有效果

Python(3.5.2)脚本:

这是我试图删除的文件夹内容的一个示例。 这是文件夹的访问状态。我是“管理员”

由于此错误,我感觉我的服务器(IIS)未运行。
非常感谢您的帮助。

您在问题中提到了批处理文件,并将其作为标记,但我没有看到任何
批处理文件
代码。您是否有关于批处理文件的特定问题?
操作系统失败时,如果不记录错误代码,则很难解决问题。删除
。是访问被拒绝(5)、共享冲突(32)、文件未找到(2)、路径未找到(3)还是其他原因?使用
except-OSError-as-e
而不仅仅是
except
,并在失败的文件路径之外记录
e.winerror
。我收到的错误是“权限被拒绝”。通过
icacls-filename
检查其中一个问题文件的访问控制条目。可能有一个ACE拒绝访问您的帐户。否则,文件可能已经处于已删除状态,但某些东西使它们处于打开状态,这会阻止文件系统断开它们的链接。使用Sysinternals handle.exe或Process Explorer查找打开的句柄。
import os
import re
import fnmatch

f = open("log.txt","w+")
count = 1
for root, dirs, files in os.walk("c:\\Website\\",topdown=False):
   for fl in files:
    if re.match('2017-09-09 00-00 Copy of',fl ):
        try:
            file_path = os.path.join(root, fl)
            os.remove(file_path)
            print("Deleting file " + file_path)
        except:
            file_path = os.path.join(root, fl)
            f.write(str(count) + " " + file_path + "\n")
            #print(str(count) + " " + file_path + "\n")
            count+=1
f.close()