Как мне mklink junction + переместить содержимое из C: \ Program Files в D: \ Program Files?

6257

У меня есть несколько приложений, которые категорически отказываются устанавливать что-либо, кроме C: \ Program Files или C: \ Program Files (x86). Изменение разделов реестра для папок установки по умолчанию, похоже, не приносит никакого удовлетворения, и поэтому сейчас я задаюсь вопросом о том, чтобы добавить туда переход NTFS, чтобы заставить эти противные приложения взаимодействовать.

В настоящее время в Windows используются файлы, поэтому вполне вероятно, что я не смогу сделать это в активной ОС. Существуют ли загружаемые системные инструменты Windows 7, которые позволили бы мне это осуществить? Кажется, мне понадобится возможность копировать файлы (с разрешениями!) С одного диска на другой, а также делать соединение для Windows.

3

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

2
jidar

Да, вы можете создать ссылку через, mklink /j "C:\Program Files\foo1" "E:\foo1"если приложение не поддерживает ее напрямую. Я делаю это для приложений Steam (игр), и это работает довольно хорошо.

Что касается утилит, которые позволяют вам это делать, вы пробовали безопасный режим?

Эта ссылка описывает использование xcopyдля сохранения атрибутов

Также обязательно запустите командную строку с правами администратора. Вы будете нуждаться cmd.exeв mklink(поскольку это непосредственно не доступно в powershell)

Надеюсь это поможет!

Одна проблема, с которой можно столкнуться, заключается в том, что некоторые установщики все еще используют имена файлов 8.3 в своих ссылках реестра, и копирование из `C:` в `D:` не обязательно сохранит их. Утилита [`xxcopy`] (http://www.xxcopy.com/) сохранит их, и, хотя компания прекратила торговать, бесплатная версия по-прежнему доступна по ссылке для скачивания. Может существовать текущее программное обеспечение, которое сохраняет 8.3 имен, но я был доволен `xxcopy` на протяжении многих лет, поэтому я никогда не видел необходимости искать альтернативу. AFH 5 лет назад 0