Копирование папок с помощью Cygwin
Папка, созданная
cp -r myfolder myfolder2
отмечен shared
как сообщается "Это передается другим людям. Вы уверены, что хотите удалить его?" диалоговое окно в Windows, когда я пытаюсь удалить папку. Когда я использую ту же команду cp на другом компьютере, я сталкиваюсь с проблемами разрешения. Иногда я не могу перейти в папку с помощью Проводника. Появляется сообщение "Нет разрешений. Хотите их взять?" dialong и как только я нажимаю "Да", разрешения предоставляются. В других случаях я не могу удалить скопированные папки с помощью Проводника. В этом случае я должен изменить разрешения вручную (я могу добавить все разрешения своему пользователю, если их нет изначально) или использовать cygwin's rm command
с -f flag
,
Вы можете воспроизвести проблему, используя
mkdir f1 && mkdir f1\f2 && echo 1 >> f1\f2\file && cp -r f1 f2
Мне нужна одна папка с более глубоким путем, чтобы создать проблемы удаления на второй машине
mkdir f1 && mkdir f1\f2 && mkdir f1\f2\f3 && echo 1 >> f1\f2\f3\file && cp -r f1 f2
Теперь попробуйте удалить f2. Это не потому, что Authenticated Users
разрешения не распространяются до f2\f2\f3.
Что я должен спросить у автора программы?
1 ответ
Команда Windows
icacls f2 /T /reset
делает разрешения f2 наследуемыми из родительской папки. Это удовлетворяет мою цель. Тем не менее, ответ не отвечает, что, черт возьми, происходит с атрибутами файла.