У меня есть локальная папка X:\Source\Q_Project
которую я хочу сопоставить с буквой диска Q:
. Я использую ярлык, который указывает на командный файл для этого. Пакетный файл:
@echo off
subst q: /d
subst q: X:\Source\Q_Project
Это прекрасно работало в 64-битной Windows 7 Ultimate - я мог видеть диск Q:
из проводника Windows и любой другой 32/64-битной программы, включая консоль и т.д.
В Windows 8 Home 64-bit это больше не работает. У меня отключено UAC (только через пользовательский интерфейс, поэтому оно не совсем, действительно отключено, но предупреждения все равно отключены). Ярлык настроен для запуска от имени администратора на Properties->Shortcut
.
Когда я дважды щелкаю по ярлыку, запускается командный файл, и диск Q:
виден из одной конкретной программы, Far Manager (32-разрядное консольное приложение, работающее от имени администратора). Если я запускаю процесс через Far Manager, этот процесс также видит диск Q:
. Все, что я пытаюсь запустить с помощью Проводника или других ярлыков на рабочем столе, не видит диск, на котором был установлен диск. Если я запускаю ярлык с Run as administrator
, эти программы увидят диск Q:
.
Это сводит меня с ума - есть ли способ исправить это в этом жалком оправдании ОС? Windows 7 прекрасно с этим работала (я работал как настоящий администратор под Windows 7, но под Windows 8 я пытаюсь понять, возможно ли сделать это «правильно» - пока это не получается, я продолжаю запускать все как админ).
Является ли единственная возможность действительно отключить UAC и работать от имени администратора? Я знаю, что это убьет все приложения Metro, но это нормально для меня.
Примечание: постоянное отображение через реестр не будет работать для меня (у меня тоже есть один). Мне нужно иметь возможность часто переставлять диск Q:
в разные репозитории исходного кода без необходимости выходить из системы / перезапускать.