Экспериментировал с утилитой robocopy.
Я создал папку closed_folder_parent. Положил туда 3 картинки. И папку closed_folder с 3 текстовыми документами. В Свойства -> Безопасность у closed_folder я поставил везде "Запретить" (для всех пользователей). А еще в closed_folder я положил папку some_folder с текстовым документом some_txt.txt.
Вот структура.
closed_folder_parent
-- closed_folder
-- some_folder
-- some_txt.txt
-- robocopy.txt
-- robocopy_programming_v.txt
-- sort.txt
-- ошибка powershell.png
-- ПРЯМОУГОЛЬНИК.png
-- Сбой.png
Я выполнил команду:
robocopy D:\closed_folder_parent D:\test /e /V /TS /FP /ETA /TEE /r:1 /w:1 /LOG:D:\robocopy.txt /MIR
Вот часть результата, на которую надо обратить внимание.
ВсегоСкопировано ПропущеноНесоответствие СБОЙДополнения
Каталогов : 3 1 1 0 1 0
Файлов : 3 3 0 0 0 0
Утилита считает, что всего файлов 3. И все они скопированы. Но ведь файлов на самом деле 7.
Есть какие-нибудь способы рекурсивно сравнить 2 папки и получить информацию в том числе и о тех файлах и папках, к которым нет доступа?
Я попробовал программу windiff.zip - не помогло.
Я попробовал эти команды Power Shell:
$1 = Get-childitem "D:\test" -recurse
$2 = Get-childitem "D:\closed_folder_parent" -recurse
Хотел еще написать это:
Compare-Object $1 $2 -Property Name, Length
Но после второй строки выдалось сообщение:
Get-childitem : Отказано в доступе по пути "D:\closed_folder_parent\closed_folder".
строка:1 знак:6
То есть, Power Shell здесь не помощник. Какие еще варианты есть?