我正在尝试以编程方式删除Windows帐户及其c:\Users
下windows 2008R2
下的相应文件夹。
我在程序中调用了net user [user name] /delete
命令,但它没有删除c:\users
下的“用户名”文件夹。 DelectFile
函数不起作用:错误代码为5
。
有没有办法解决它?
答案 0 :(得分:1)
错误代码5表示“拒绝访问”。要解决此问题,请检查本地系统帐户是否有权删除该文件夹。您可以使用“cacls”从命令行执行此操作。默认情况下,LocalSystem应该具有访问权限,作为Administrators组的成员,但可能已被删除。如果缺少,请先取得该文件夹的所有权。
另一个问题可能是该文件夹处于“正在使用中”,即打开句柄并使用拒绝删除集进行共享。这很难解决。您可能需要先关闭用户或等待再重试。
答案 1 :(得分:1)
你不能只删除目录。您必须显式遍历目录的内容,删除每个文件并删除每个子目录。
另外,请注意,用户配置文件文件夹的名称并不总是与用户名相同。映射存储在某个地方的注册表中。