Windows позволяет хранить изображения текущего пользователя в пользовательской папке% userprofile%\pictures, которая отображается как "Мои рисунки" в библиотеке изображений на левой панели проводника. У меня есть Мои рисунки в другом разделе, и я хочу, чтобы путь% userprofile%\pictures указывал на это местоположение.

Я попытался удалить или переименовать "Мои рисунки" в "default" и скрыть их, а затем использовать mklink, например:

mklink /D %userprofile%\pictures %anotherdir%/pictures

Поначалу кажется, что это работает нормально, но через несколько минут на левой панели больше не отображается длинное имя "Мои рисунки", а затем оно заменяется на "рисунки".

Я также попробовал с linkd, и получил тот же результат.

Как я могу добиться этого, не нарушая пользовательское имя?

1 ответ1

0

Следующее, казалось, сработало для меня; вы, вероятно, захотите сделать резервную копию этой папки, прежде чем пытаться это (мне было бы интересно узнать, работает ли она последовательно для вас):

Установите Junction Link Tools («JLT--» - это бесплатное ПО, и я сам много раз его использовал с отличными результатами, и я не имею никакого отношения к его создателю), которое вы можете найти по адресу:

http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

После того, как это установлено, выполните следующие действия:

  • Щелкните правой кнопкой мыши папку "Мои рисунки" (в папке "Пользователь") и выберите "Вырезать".
  • Перейдите в нужное место новой папки (я проверил это на другом диске / разделе, и это сработало), щелкните правой кнопкой мыши пустое место и нажмите "Вставить".
  • Щелкните правой кнопкой мыши эту недавно перемещенную папку, затем нажмите "Выбрать источник ссылки".
  • Вернитесь в свою папку "Пользователь" (исходное расположение подпапки "Мои рисунки", щелкните правой кнопкой мыши пустое место и щелкните левой кнопкой мыши «Drop As -> Junction»).

Предупреждение: инструменты автоматического резервного копирования имеют разные подходы в отношении того, читают ли они или что они делают с Junction Links.

Кстати, и важное замечание: вы можете переехать в папку , которая имеет сочленения внутри него (например, папку пользователя, или Programdata, или любую папку программы - я переместил все это без каких - либо проблем, я, например , вошли в систему как Администратор *), но в этом случае вы захотите использовать функцию "Smart Copy" JLT.

Зачем?

"Smart Copy" правильно перенаправляет любые скопированные соединения в папке, например

"C:\Users\SR\My Pictures" [A Junction which points to "C:\Users\SR\Pictures"]
"C:\Users\SR\Application Data" [A Junction which points to "C:\Users\SR\AppData"]
<Many other Junctions under C:\Users\SR>

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

"G:\UserJunctions\SR\My Pictures" [A Junction to "D:\UserJunctions\SR\Pictures"]
"G:\UserJunctions\SR\Application Data" [A Junction to "D:\UserJunctions\SR\AppData"]
<Many other Junctions under C:\UserJunctions\SR>

Я не знаю, что технически JLT делает в фоновом режиме, что может отличаться от вашего подхода. К счастью, мне не нужно знать - это просто работает :)

* Есть очень редкие исключения из этой работы отлично. Я видел, как редкие консольные приложения плохо себя ведут / не знают, что делать, когда данные, которые они ищут, пересекают Junction Link.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .