我需要一个Python脚本来删除Windows上C:/Users
文件夹下的完整用户文件夹。我尝试了下面的代码,但我得到的几个文件的错误:
[WinError 32] The process cannot access the file because it is being used by another process: 'C:/Users/test\\AppData\\Local\\Microsoft\\Windows\\UsrClass.dat'
注意:在Windows上,我以用户A作为管理员登录,并试图删除用户B文件夹。在删除用户文件夹之前,我正在使用此命令删除注册表项:reg.exe", "delete", f"HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\ProfileList\\{profile}
下面是我尝试的Pyhton代码:
import os
import shutil
profile_folder_path = "C:/Users/test"
for base_dir, dirs, files in os.walk(profile_folder_path):
for file in files:
try:
print(os.path.join(base_dir, file))
os.chmod(os.path.join(base_dir, file), 0o777)
os.remove(os.path.join(base_dir, file))
except Exception as ex:
print(f"Can not delete file: {ex}")
for folder in dirs:
try:
print(os.path.join(base_dir, folder))
os.chmod(os.path.join(base_dir, folder), 0o777)
# os.rmdir(os.path.join(base_dir, folder))
shutil.rmtree(os.path.join(base_dir, folder))
except Exception as ex:
print(f"Can not delete folder: {ex}")
我希望删除完整的用户文件夹:C:/Users/testuser
我的目标是删除Windows上未使用的用户及其用户数据文件夹。
3条答案
按热度按时间z31licg01#
我对你的代码做了一些修改,它在我的笔记本电脑上工作。
vdzxcuhz2#
一旦你确定相关目录中的文件都没有被使用,那么只需递归删除该目录:
gupuwyp23#
我找到了一个Powershell命令来实现这一点: