Ошибка доступа запрещена с robocopy от имени администратора

38475
Steve Wright

Возможное дублирование:
отказано в разрешении Robocopy

При попытке запустить следующую команду

robocopy d:\directory \\server\directory /S /XO /COPY:DT 

Я получаю ошибку «Отказано в доступе». Я использую Vista Ultimate x64, права администратора, я владелец обоих каталогов.

Я видел этот вопрос и думал, что это похоже, но я получаю следующее сообщение об ошибке:

ERROR 5 (0x00000005)(Copying file d:\blah....) 

можно ли это исправить? Если нет, есть ли способ пропустить файлы с ошибками и просто перейти к следующим файлам?

1
является ли одна из папок сетевой папкой? John T 14 лет назад 0
Предположительно, каталог \\ server \ является сетевым (в ответ на John T). Однако, возможно, это должен быть каталог \\ server \ SHARE_NAME \? Chris_K 14 лет назад 0
Three points: 1. Is any file in the directory in use? (Check using Unlocker 1.8.7) 2. Is UAC on. If yes are you running the bat file with elevated permissions or no? 3. Can you first try connecting to the \\server manully & see if it requires any authorization for access. Ganesh R. 14 лет назад 0
Дубликат http://superuser.com/questions/25509/robocopy-permission-denied. Kez 14 лет назад 0

1 ответ на вопрос

2
harrymc

Цитируется здесь :

В моем случае я начал с полного контроля над исходными и целевыми акциями. Проблема заключалась в том, что Robocopy сбрасывал ACL на целевом ресурсе в нулевое значение (никто не имеет разрешения) до того, как он начал рекурсивные подкаталоги. После нескольких быстрых тестов я пришел к выводу, что Robocopy не обрабатывает унаследованные разрешения. Скажем, вы копируете C: \ Share1 в D: \, а C: \ Share1 наследует свои разрешения из корневого каталога C: \, на самом деле у него нет явного ACL. Поэтому, когда вы копируете его ACL, вы на самом деле копируете ... ничего. При копировании пустого списка ACL в пункт назначения ваши разрешения удаляются на первом этапе копирования, и все последующие записи в общий ресурс завершаются с ошибкой 5.

Это только проблема, когда вы копируете из источника, к которому вы обращаетесь, с помощью унаследованных разрешений WITH, и к месту назначения, к которому вы обращаетесь без унаследованных разрешений. Если вы копируете C: \ (в котором вы явно указаны в ACL), в D: \ проблем не возникает. Если это действительно ваша проблема, вы можете решить ее, добавив себя явно в ACL-источник с полным контролем. Когда копия запускается, ваша запись ACL дублируется к месту назначения, и последующие копии файла могут быть записаны. Вы можете отменить свои изменения (как для источника, так и для пункта назначения) после завершения копирования.

Если у вас по-прежнему возникают проблемы, несмотря на вышесказанное, вы можете попробовать использовать ключ / B, который пытается создать резервную копию файла, используя ваши привилегии в качестве оператора резервного копирования. Это позволит вам копировать файлы, которые в противном случае вы не смогли бы, например, если вы не в ACL на вашей целевой папке. По умолчанию Robocopy пытается перезапустить копию. При отказе от перезапускаемых копий в худшем случае вы теряете файл, передаваемый в данный момент, в случае сбоя. Следующий проход перезапустит этот файл с начала, а не на полпути.

Надеюсь, это поможет. Вот цитата из документа Microsoft Robocopy относительно параметра / B:

Цитата:

Если вы копируете информацию о безопасности NTFS (ACL) вместе с данными файла, можно копировать файлы, к которым у вас есть права на чтение, но нет прав на запись. После того, как такой файл будет скопирован один раз, и ACL будут применены, вы можете обнаружить, что возникает ошибка «Отказано в доступе» при попытке скопировать файл снова. В этой ситуации вы должны использовать ключ / B или / ZB для копирования файлов в режиме резервного копирования.

/ B копирует все файлы с семантикой резервного копирования (Backup Mode). / ZB сначала пытается скопировать файлы в режиме перезапуска (для большей отказоустойчивости), но если это не удается с ошибкой «Отказано в доступе», он автоматически повторяет попытку копирования в режиме резервного копирования.