У меня были проблемы с файлами с очень длинными путями (больше 256 символов). Две команды
takeown /f "C:\path\to\really_long_folder_name" /r icacls "C:\path\to\really_long_folder_name" /reset /T
работал за исключением этих файлов с очень длинными путями и именами. Я переименовал
"C:\path\to\really_long_folder_name"
в
"C:\path\to\r"
а затем работает
takeown /f "C:\path\to\r" /r /D Y icacls "C:\path\to\r" /grant Everyone:(F) /t /c /q
после чего я мог бы переименовать папки во что-то более разумное. takeown's / DY отвечает да на запросы. Для icacls я использовал / grant, чтобы дать полный доступ всем (так как я просто пытался получить доступ к данным на жестком диске с мертвого ПК), с / t для обработки подпапок и файлов, / q для запуска в тихом режиме (скрыть успехи) и / с, чтобы показать ошибки. Я повторил процесс, переименовывая папки, пока все права доступа к файлам не были успешно обновлены.
Надеюсь, это поможет кому-то, кто сталкивался с ошибками, похожими на ошибки «не удалось перечислить объекты в доступе к контейнеру», которые я получал при попытке получить доступ к данным со старого жесткого диска.