我有一个在WinPE中运行的脚本,该脚本采用安装了Windows的系统驱动器并从驱动器中删除所有内容(保持文件系统完整)。
在处理Windows XP/Vista/7安装时,它可以正常工作。 运行attrib -S -A -H -I -R /S /D
,然后删除所有内容。
但是,在Windows 8中,我遇到了"拒绝访问"错误。出于某种原因,即使作为 WinPE 中的系统用户,我也无法编辑目录C:ProgramDataMicrosoftWindowsLocationProvider
。我不能使用attrib
来设置属性,我不能删除它 - 我什至不能cd
它! dir /a
只是返回File Not Found
.
使用rmdir /S /Q
会给我"拒绝访问"错误。
假设问题与权限和/或所有权有关,您可以使用内置的robocopy
工具解决它 - 幸运的是,这包含在Windows PE中。
首先,创建一个空目录,例如,x:empty
然后运行
robocopy /e /purge /b x:empty c:
/b
标志告诉 robocopy 使用备份模式,这会绕过安全性。
有同样的问题。您需要首先取得所有权,例如使用 takeown.exe
.然后修复权限,例如使用 icacls.exe
.然后根据需要进行复制,移动,删除。