При попытке удалить файл из сетевого расположения через пакетный файл Windows (я на Windows 7) с помощью команды «del» с флагами / f и / q, я вижу «Доступ запрещен». сообщение, и файл не удаляется. Тем не менее, я могу успешно удалить файл вручную через проводник Windows.
Я запускал командный файл с моей личной учетной записью, которая должна использовать те же разрешения, что и удаление вручную через проводник Windows.
В файле, который я пытаюсь удалить, нет ничего особенного, это пустой текстовый файл, который я создал для тестирования после того, как заметил, что наш код автоматизации не может удалить файлы из этого места.
Эта проблема присутствует только на одном конкретном сетевом ресурсе, во всех других местах я могу без проблем удалять файлы с пакетными файлами Windows.
Кроме того, я могу успешно создать текстовый файл в рассматриваемом сетевом местоположении без каких-либо проблем с помощью командного файла. Это просто команда удаления, которая дает мне «Доступ запрещен». вопрос.
Моя учетная запись находится в группе, которая не имеет доступа к общему ресурсу, содержащему данную папку, но имеет доступ к папке на общем ресурсе. Способ настройки безопасности для этого сетевого расположения выглядит следующим образом:
\\Server\Share\Folder1
\\Server\Share\Folder2
Группа, в которой находится моя учетная запись, имеет «изменяющий» доступ к папкам 1 и 2, но не к папке «Поделиться».
Изменить: рассматриваемая командная строка, как и было запрошено:
del \\Server\Share\Folder\TEST_FILE.txt /F /Q
Кто-нибудь знает какой-либо феномен сети / безопасности, который может быть причиной этой проблемы, и как я могу это исправить?
Ответы:
Я не уверен, почему это происходит, но я подозреваю, что
del
команда не поддерживает UNC-пути должным образом.Я мог легко воспроизвести это, и ошибка исчезла, когда я использовал подключенный диск:
Как ни странно, другие команды работали. Например, я мог бы создать подкаталог, переместить туда файл и затем удалить подкаталог:
источник
Команда 'del \ y \ x' выполняет поиск в 'y' для всех файлов, соответствующих 'x', поэтому вам понадобится доступ к списку каталогов для 'y'.
Что касается общих сетевых ресурсов, доступ, который вы получаете, является пересечением разрешений для общего ресурса и объекта, к которому вы обращаетесь. Если файл разрешает запись, а общий доступ - нет, запись невозможна.
источник