Остановите создание программами спам-папок в папке «Документы» пользователя Windows, изменив переменную среды для каждого приложения.

Остановите создание программами спам-папок в папке «Документы» пользователя Windows, изменив переменную среды для каждого приложения.

Как видно из других вопросов в Интернете и здесь, на SuperUser (например,Не позволяйте программам использовать Мои документы), пользователи Windows считают очень раздражающим тот факт, что программы сами решают добавлять свои собственные папки в папку «Документы» пользователя.

Папка «Документы» пользователя, как и ее папки «Музыка» или «Изображения», предназначена для ее личных файлов, которые должны управляться, структурироваться и организовываться таким образом, чтобы это было понятно только ей. Так много программ сбрасывают сюда свои файлы, что быстро становится невозможным найти ваши собственные документы.

Если вы поищете в Интернете и на сайте SuperUser, вы найдете следующие разнообразные советы, все из которых не являются решением вопроса:Как я могу этого не допустить?

  • Переместите папку «Документы» в другое место, а затем создайте новую папку, которая, как система не знает, на самом деле не является папкой, которую вы будете использовать для своих документов. (Нехорошо: яхотеть(Система знает, где я храню свои документы, во всех остальных случаях это полезно.)
  • Положите все вашидействительныйдокументы внутри подпапки внутри папки «Документы». (Плохо: почему мне всегда нужно копать на один уровень вниз, чтобы добраться до своих документов, и пробираться через все папки со спамом на основном уровне?)
  • Периодически очищайте папку вручную. (Бесполезно: это сломает многие программы.)
  • Различные методы предотвращения несанкционированного создания папок. (Бесполезно: это сломает многие программы.)
  • Запуск программ в виртуальной машине. (Плохо: излишне для 99% сценариев.)
  • Не используйте эти программы. (Бесполезно: мне нужно использовать эти программы.)

В конце концов вы можете прийти к решению, которое я сейчас использую и которое, на мой взгляд, является лучшим из худшего:

  • (Необязательно: переместите проблемные папки в другое место, а затем создайте жесткую ссылку на это местоположение в Документах.)
  • Скрыватьпроблемные папки в Документах.

Фу!

(Вот простой пример того, почему этот стиль решения все еще неадекватен: нужно иметь возможность указать, например, программе резервного копирования непосредственно на папку «Пользователи/Документы» — или даже скопировать всю папку — и точно знать, что получается. Кроме того, многим людям нужно держать включенным «Показывать скрытые файлы».)

Я медленно подхожу к вопросу! – это не просто тирада! Последнее замечание – указать, что причина возникновения этой проблемы в том, что программисты ленивы и сбрасывают файлы в место, которое, как они могут быть уверены, доступно для записи пользователем – даже если есть выделенные папки AppData. После того, как это поведение закодировано, только разработчик может изменить его – и большинство этого не сделает.

Итак. Я могу представить себе только одно возможное решение, и вот оно.Каким-то образом переменная среды, определяющая местоположение пользователя/документов, должна быть представлена ​​по-разному для конкретных программ.У меня возник вопрос –

Как этого можно добиться?

решение1

К сожалению, не существует переменной среды для расположения пользовательских документов.

Этот путь скорее возвращается функцией API, которая называется SHGetKnownFolderPath который возвращает известные папки, идентифицированные по их Константы KNOWNFOLDERID, который для папки «Документы» пользователя является константой FOLDERID_Documents.

Поэтому, чтобы изменить его для конкретных программ, нужно написать программу, которая создаст общесистемный хук SHGetKnownFolderPathи вернет нужное значение. Я не знаю ни одного такого продукта.

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

решение2

Вероятно, нет единого решения для всех программ. Для уже установленного программного обеспечения, как заметил harrymc, программа может иметь настройки, которые вы можете изменить, или записи реестра, которые можно редактировать. Если вас беспокоит создание папок во время установки, я бы предположил, что изменение значений реестра дляЛичныйи (если существует){f42ee2d3-909f-4907-8871-4c22fc0bf756}, найденный в HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders, чтобы указать на другую папку, например 'C:\Users\\BadApps`, "обманет" установщик, заставив его создать папки в этом месте. После установки значения могут быть восстановлены до их обычных путей. Можно написать простые скрипты для "переключения" этих значений, если это часто требуется.

Связанный контент