Как я могу изменить путь загрузки Windows по умолчанию?

26

Я бы хотел, чтобы мои пути для дисков были как можно более чистыми, и C:\Downloadsэто намного приятнее, чем C:\Users\Myname\Downloads. Могу ли я остановить Windows 10 от этого по умолчанию?

Доктор Джон Зойдберг
источник
5
Вы можете создать папку в этом месте и указать браузеру загружать файлы в это место, но для этого потребуется запуск процесса с повышенными правами.
Ramhound
14
Нет такого понятия, как «чистый» путь. %userprofile%\Downloadsэто лучше для организации, чем C:\downloadsесли бы вы рассматривали многопользовательскую среду.
zzzzBov
7
в настоящее время нет крупных однопользовательских ОС. Использование папки пользователя является обязательным
phuclv
9
Вам лучше перестать бороться с ОС и следить за ее дизайном.
Джек Эйдли,
7
Это забавно. Я был как ты, однажды. (смеется) В далеком прошлом я пытался хранить все в небольшой папке «Данные» или в другом месте вне моего пользовательского каталога, затем, в конце концов, после того, как столько раз выстрелил себе в ногу, я понял, насколько более организованно это было храните все в моей папке пользователя, как я должен был. Так гораздо проще для резервного копирования, миграции на новые компьютеры, непредвиденные случаи , когда я сделал в конечном итоге создания новых учетных записей (например , позволяя друг по электронной почте позаимствовать ноутбук, что делает учетную запись пользователя для работы и т.д.). Еще проще, если вы храните все пользовательские данные в отдельном разделе.
Джейсон С

Ответы:

9

Самое простое решение - сделать C:\Downloadsссылку на C:\Users\Myname\Downloads: тогда любой путь можно использовать для доступа к загрузкам.

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

mklink /d C:\Downloads C:\Users\Myname\Downloads

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

Вы можете использовать подобную технику для создания C:\Documents, C:\Music, C:\Picturesи т.д.

AFH
источник
Если пойти дальше, возможно, будет хорошей идеей создать новый виртуальный диск с именем z или v или что-то в этом роде.
Джуджаа
@joojaa - Это хорошая альтернатива: вы можете использовать subst h: %homepath%(или другую букву диска), но это нужно делать при каждом входе в систему. Затем вы можете обратиться к H:\Downloadsetc и единственная команда отобразит весь домашний каталог.
AFH
@joojaa - Смотрите также этот вопрос .
AFH
Да, использование сети может сделать его постоянным, и вы можете сделать это через графический интерфейс, если хотите. Вы также можете создавать логические диски с помощью диспетчера дисков, чтобы при желании вы могли объединить два отдельных диска в один.
Джуджаа
@joojaa - Спасибо, я не знал об этом net use h: /home, хотя на W10 / 1607 выдает ошибку.
AFH
54
  1. Откройте проводник.
  2. Создайте папку, которую вы хотите иметь в качестве новой папки загрузок (т.е.:) c:\downloads.
  3. В разделе «Этот компьютер» щелкните правой кнопкой мыши «Загрузки».
  4. Нажмите Свойства .
  5. Выберите вкладку Местоположение .
  6. Нажмите Переместить .
  7. Выберите папку, созданную на шаге 2.

введите описание изображения здесь

  1. После завершения копирования нажмите кнопку ОК, чтобы закрыть окно свойств.
Ƭᴇcʜιᴇ007
источник
6
Некоторые программы не подчиняются этому параметру. Они жестко запрограммированы для использования папки загрузок в папке пользователя. В этом случае ярлык загрузок не будет отображаться в папке пользователя, и вам придется перейти к нему самостоятельно. Одной из таких программ является Media Player Classic при создании снимков экрана.
Sanctor
4
@Sanctor Насколько я могу судить, Media Player Classic использует последнее местоположение, в котором вы сохранили. Это не жестко запрограммировано. trac.mpc-hc.org/ticket/1390
MiniRagnarok,
Это также должно соединить новую папку загрузок с вашей пользовательской папкой, чтобы жестко запрограммированные программы также
находились
@MiniRagnarok она будет закодирован последними вы сохранили в.
Аманьте Kilumanga
14

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

Чарльз Бердж
источник
2
ДА, но в этих приложениях предпочтительнее использовать настройку для всей ОС, как Rhymoid описывает ниже.
rackandboneman 22.09.16
Ну, я думаю, что это вопрос мнения, и я с уважением не согласен. Возможно, некоторые люди не хотят, чтобы их браузер сохранял файлы в том же месте, что и их бит-торрент-клиент или почтовый клиент. Лично мне нравится, когда мой браузер спрашивает меня, куда поместить файл, потому что я, возможно, захочу поместить его в другое место, в зависимости от того, является ли это mp3-файлом, ISO-изображением или чем-то еще.
Чарльз Бердж
Если поставщик ОС объявил его наилучшей практикой, важно мнение поставщика и разработчиков :) И я думаю, что очень немногие люди предпочли бы, чтобы DEFAULT был произвольным, а не взятым из общесистемных настроек. У пользователей и администраторов есть веские причины для изменения этого значения по умолчанию, например, если вы используете перемещаемые профили или центральное резервное копирование в организации и не хотите, чтобы папка «в профиле» / «в резервной копии» была загромождена простыми загрузками . Переопределение уровня приложения, конечно, является желательной функцией в большинстве случаев.
стеганые кости
7

Правильно спроектированные приложения Windows используют функцию IKnownFolderManageror just (или ее оболочку совместимости ), чтобы найти пути к таким папкам, как папка «Загрузки». Для Загрузки папки является , которая имеет GUID .SHELL32.DLLSHGetKnownFolderPathSHGetFolderPathKNOWNFOLDERIDFOLDERID_Downloads{374DE290-123F-4565-9164-39C4925E467B}

Если вы откроете редактор реестра и выполните поиск ключей и значений с этим GUID, вы в конечном итоге найдете его в следующих двух местах:

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders

Как объясняется в блоге, связанном с Ben N, ...\Shell Foldersсуществует только для совместимости с некоторыми программами Windows 95. Он даже содержит значение с именем !Do not use this registry keyи данными Use the SHGetFolderPath or SHGetKnownFolderPath function instead. Эти функции ...\User Shell Foldersвместо этого смотрят на клавишу .

Такие программы, как Microsoft Edge и Google Chrome, будут использовать путь, указанный в сообщении, IKnownFolderManagerдля хранения загрузок по умолчанию, хотя Google Chrome позволяет предоставить переопределение для этого пути (в разделе «Дополнительные настройки» на экране его настроек). Если путь не указывает на существующую папку, Microsoft Edge будет просто жаловаться, и Google Chrome по умолчанию будет использовать папку «Загрузки» в папке «Документ».


Я заметил, что ответ Techie007 вылетает для меня (Windows 10 - такой качественный продукт), но не перед тем, как скопировать все мои загрузки и добавить новое значение в ключи выше с GUID {7D83EE9B-2244-4E70-B1F5-5393042AF1E4}. Я не могу найти ссылку на этот GUID на MSDN. Microsoft Edge, похоже, не заботится об этом значении, равно как и Google Chrome.

Так что, если ответ Techie007 не работает для вас, возможно, вы можете аннулировать гарантию и попытаться изменить значение в реестре:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders]
"{374DE290-123F-4565-9164-39C4925E467B}"="C:\\Downloads"
Rhymoid
источник
3
Соответствующая старая статья о ключе оболочки.
Ben N
1

Самый простой способ, который я нашел, - переместить всю папку в новое место. Сделайте это следующим образом:

  • Откройте C: \ в проводнике
  • Откройте C: \ Users \ Имя пользователя в другом проводнике
  • Щелкните правой кнопкой мыши и перетащите папку Download на C: \
  • Отпустите правую кнопку мыши
  • Выбрать Move here
  • Windows обнаруживает изменения и настраивает их для вас

Таким образом, вам не нужно делать никаких ссылок, редактировать реестр или изменять настройки библиотеки, Windows позаботится об этом.
Насколько я попробовал, он работает со всеми так называемыми «библиотеками» («Документы», «Музыка», «Загрузки» и т. Д.) В вашей пользовательской папке, вы даже можете переместить их на сетевые диски.
Однако вам может понадобиться щелкнуть ярлык «Загрузить» в небольшом диалоговом окне сохранения в следующий раз, когда вы загрузите что-либо, либо как проводник Windows, либо иногда само приложение стремится запомнить старое место сохранения, либо предварительно выбрать папку «Рабочий стол», когда исходный файл папка больше не существует После этого все должно продолжиться как прежде.

Kimmax
источник
1
Это не заставит будущие загрузки идти в новом местоположении все же.
Капитан Мэн
1
Я уверен, что так и есть, потому что windows тоже корректирует пути к библиотекам. На самом деле я проверю это прямо сейчас
Kimmax
Это работает, если вы не возражаете щелкнуть ярлык загрузки в диалоговом окне сохранения один раз при первой загрузке, как, например, Chrome запоминает старое местоположение. Вторая загрузка идет прямо в перемещенную папку
Kimmax
Ваш ответ, вероятно, должен упомянуть что-то об этом, так как это фактическая часть, о которой заботится OP; Я уверен, что они понимают, что они могут вручную перемещать вещи туда.
Капитан Мэн
0

Метод PowerShell:

$userShellFoldersPath = 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders'
IF((Test-Path -Path $DownloadPath) -eq $false) {
     New-Item $DownloadPath -Type Directory -ErrorAction Stop | Out-Null
}
IF((Get-ItemProperty $userShellFoldersPath).'{374DE290-123F-4565-9164-39C4925E467B}')
{
    Set-ItemProperty -Path $userShellFoldersPath -Name '{374DE290-123F-4565-9164-39C4925E467B}' -Value $DownloadPath
}
#Windows 10
IF((Get-ItemProperty $userShellFoldersPath).'{7D83EE9B-2244-4E70-B1F5-5393042AF1E4}')
{
    Set-ItemProperty -Path $userShellFoldersPath -Name '{7D83EE9B-2244-4E70-B1F5-5393042AF1E4}' -Value $DownloadPath
}
#Restart Explorer to change it immediately   
Stop-Process -name explorer

Подробнее Как изменить путь загрузки Windows по умолчанию с помощью PowerShell

откровенный
источник