Есть ли способ заставить проводник переименовывать файлы, а не копировать / удалять?

360
Binarus

Чтобы не допустить случайного удаления важных файлов, я дал некоторые специальные разрешения для моего имени пользователя для определенных папок на моем жестком диске (на самом деле эти каталоги находятся на сервере, но давайте не будем усложнять ситуацию).

Я установил эти разрешения, используя обычный пользовательский интерфейс, который Windows 7 Pro x64 предоставляет для этой цели. Права доступа, которые я установил:

Permissions I have set

Это работает в принципе. Я могу скопировать файлы и подпапки в эти папки и не могу удалить их потом. Но на самом деле это невозможно использовать из-за следующих странностей:

1. Я не могу переименовать файлы или папки. Когда я пытаюсь, я получаю сообщение «Отказано в доступе».

Это очень удивляет меня, потому что (как вы можете видеть на скриншоте) я отказал только в разрешениях «Полный доступ», «Удалить подпапки и файлы», «Удалить» и «Взять в собственность». Поэтому я спрашиваю себя, какое отношение имеет переименование к удалению.

Это происходит из-за тупой реализации Windows Explorer, или это в основном проблема API?

2. Я не могу переместить файлы или папки. Когда я пытаюсь, я получаю сообщение «Отказано в доступе».

Это более понятно для меня. В конце концов, при перемещении файла он не будет находиться в одном и том же месте в конце процесса, поэтому можно утверждать, что это удаление. Тем не менее, я хотел бы узнать способ обойти это.

3. Я не могу создавать новые файлы или папки напрямую.

Ну, я действительно могу, но это бесполезно. Например, когда я создаю новую папку, она называется «Новая папка», и когда я пытаюсь изменить ее имя на нужное мне, возникает проблема 1).

Отсюда мой вопрос:

Кто-нибудь знает конфигурацию или трюк, который позволяет мне (самое важное в первую очередь)

  • чтобы предотвратить удаление файлов или папок, но тем не менее

  • переименовывать файлы и папки

  • переместить файлы и папки?

1
Может хранить резервные копии важных файлов, и не беспокоиться о несчастных случаях Xen2050 7 лет назад 0
Конечно, я храню резервные копии очень тщательно (на профессиональном уровне). Моя проблема заключается в том, что я два раза удалял важный файл *, не замечая его * (в одном случае фокус находился не в том окне, когда я нажимал клавишу DEL, и в тот момент меня дополнительно отвлекал другой человек; в другом Случай, я случайно выбрал «вырезать» вместо «копировать» из контекстного меню и не заметил, что файл исчез из своего первоначального местоположения, потому что там были тысячи файлов ...). Так как эта ситуация не будет покрыта резервными копиями, я должен был что-то с этим сделать. Binarus 7 лет назад 0
Если программа резервного копирования показала список новых * и удаленных * файлов, которые могли бы помочь ... Я уверен, что файлы на самом деле не копируются и не удаляются, но что-то в разрешениях должно быть отключено. Пробовал искать разрешения на переименование windows? Xen2050 7 лет назад 0
Резервные копии работают полностью автоматически; они занимают около 2 ТБ каждый день и содержат несколько сотен тысяч файлов, из которых несколько десятков в день удаляются намеренно другими пользователями - я не знаю решения для резервного копирования, которое могло бы с этим разобраться :-). Да, и я гуглил, пока у меня не потекли пальцы (но пока только для решений, которые я мог бы реализовать без стороннего программного обеспечения), и я также провел свои собственные тесты (пробовал каждую возможную комбинацию подпапок «Удалить» и «Удалить» и файлы "разрешения"), но безрезультатно. Binarus 7 лет назад 0
Я согласен с вами, что при переименовании файлы не будут копироваться и удаляться (в противном случае время переименования будет зависеть от размера файла). Тем не менее, в процессе или переименовании должно быть действие, которое Windows считает «удаленным». Binarus 7 лет назад 0
Запросы рекомендаций по программному обеспечению здесь не по теме, я отредактировал их вне вашего вопроса. Мы предпочитаем решать проблему, а не просто быть «программным обеспечением, которое делает X» библиотекой. Mokubai 7 лет назад 0
@Mokubai Спасибо за заботу об этом. Я бы сам решил все на уровне ОС. Но что, если проблема действительно не может быть решена без дополнительного программного обеспечения, о котором я не знаю? В этом случае я был бы признателен, если бы кто-то назвал это ... Binarus 7 лет назад 0
Люди могут сказать: «Это программное обеспечение решает вашу проблему», но, пожалуйста, сосредоточьтесь на реальной проблеме, а не на том, что вам нужно какое-то программное обеспечение, рекомендованное для нее. Если вы точно знаете, что это невозможно сделать с помощью имеющихся у вас инструментов, и просто хотите получить рекомендации по программному обеспечению, у нас есть [softwarerecs.se], но имейте в виду, что перекрестная публикация не всегда приветствуется. Они также предпочитают запрос на основе нескольких критериев, их рекомендации находятся по адресу http://meta.softwarerecs.stackexchange.com/questions/336/what-is-required-for-a-question-to-contain-enough-information Mokubai 7 лет назад 0
Меня поразило, что вы могли бы сделать с отдельным пользователем, который имеет * все * права на файловую систему, и командный файл, который запускает `explorer.exe` с такими правами пользователей, чтобы вы могли потом поиграть в этой области, когда вы нужно. Это означает, что обычно вы можете писать только, но, запустив пакетный файл, вы можете быть «администратором» этой области. https://superuser.com/questions/986085/how-open-windows-explorer-as-different-user-in-windows-10 Mokubai 7 лет назад 0
@Mokubai Хорошо, спасибо за оба комментария. На самом деле, я сейчас переименовываю / перемещаюсь с использованием другой учетной записи, но это очень неудобно. Чтобы быть в безопасности, я не должен открывать окна, которые были запущены с правами суперпользователя, когда мне это не нужно. Например, при создании новой папки я должен открыть это «окно суперпользователя», затем создать / переименовать эту папку, а затем снова закрыть это окно. Я предполагаю, что мне придется делать это примерно 20 раз в течение обычного рабочего дня, и я надеялся, что есть способ обойти это. Но учитывая ответ Гарримца ниже, я просто продолжу как есть ... Binarus 7 лет назад 0
Я использую программу Free File Sync, которая будет создавать резервные копии всех моих файлов с одного жесткого диска на другой. Когда файл удаляется в источнике, вместо того, чтобы удалить его и в месте назначения, он перемещает файл из места назначения в мое местоположение «Удаленные файлы». Второй скрипт удаляет файлы, которые находятся там более 31 дня. Это работает отлично. Фактически, он будет обнаруживать переименование файлов как собственно переименование, а не 1 новый файл и удаленный файл. Я настроил синхронизацию каждые 1 минуту, поэтому резервное копирование всегда актуально. Я не удаляю свои файлы случайно. Я настроил это из-за вирусов криптолокера. LPChip 7 лет назад 1

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

2
harrymc

Ваша проблема не с Проводником, а с Windows и тем, как он работает.

Разрешения, на которые вы ссылаетесь выше, являются разрешениями для каталога, а не для самих файлов. Это означает, что для переименования файла Windows необходимо удалить в каталоге старое имя и создать новое, для чего, в частности, требуется разрешение на удаление.

Следовательно, Windows не имеет и не нуждается в разрешении на «переименование», и ни один программный продукт также не может предоставить его.

Вместо этого вам нужно изменить способ работы с этими файлами. Возможно, создав сценарии, которые будут переименовывать, сохраняя резервные копии. Возможно, используется с runasкомандами другой учетной записи, которая имеет разрешение на удаление. Эти сценарии могут даже вести журнал истории всех операций, на всякий случай.

Спасибо за объяснение. Я уже боялся, что это проблема API ... Действительно, я в настоящее время подключаюсь как другое использование для переименования или перемещения, но это довольно неудобно. Тем не менее, поскольку не существует чистого решения, я просто продолжу пока как есть. Binarus 7 лет назад 0