Можно ли подключить том к пользовательскому префиксу диска, например, «myDrive: \»?

13

Я просто мечтатель или что-то подобное существует?

iglvzx
источник
3
Монтирование в папку будет самой близкой вещью.
Surfasb
Одна проблема заключается в том, что :символ также используется для разделения имени файла и имени альтернативного потока данных . MyDrive:Fooназывает поток Foo в файле MyDrive, а не файл Foo в текущем рабочем каталоге диска MyDrive. Кроме того, почему вы хотите это сделать?
MSalters
Я подумал, что это может быть проще со статическими ярлыками и тому подобное. Например, если у меня есть ссылка на E: \ etc, это полезно, только если E: все тот же том. Я полагаю, что лучшим решением было бы подключить том к Z: или другим никогда не используемым буквам.
iglvzx

Ответы:

13

Нет, ты не можешь. Это называется буквой диска по причине.

Команда myDrive:выдает ошибку

'myDrive:' is not recognized as an internal or external command, operable program or batch file.

Обратите внимание, что это не обязательно должно быть буквой в традиционном смысле. Вы можете назвать свой диск [:, например.

DOS позволяет вам использовать все символы ASCII между A и ` (оба включительно), что дает вам в общей сложности 32 различных буквы диска. Я не уверен, как получить доступ к последним 6 в Windows, хотя.

Самое близкое к вашей «мечте» - это крепление. Например, вы можете смонтировать диск (фактически раздел) в папке C:\myDrive.

Другое «решение», которое будет работать для проводника Windows, - добавление расширяемого строкового значения в раздел реестра.

HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders,

Здесь хранятся фактические местоположения Desktop , My Music и тому подобное.

Деннис
источник
4
Буква диска должна быть AZ, у вас не может быть не альфа-символа. Как вы сказали, «Это называется буквой диска по причине»
Дастин Г.
1
@DustinG .: Я не знаю о последних версиях Windows, но те, у которых еще был файл config.sys, могут иметь букву диска, а не буквы. Все, что вам нужно, это 2 оптических привода и указание Z в качестве первой буквы диска для них. Вот так я и попал [:пару раз ...
Деннис
1
@DustinG: Технически, DefineDosDevice () в Windows NT принимает все в диапазоне 0x1..0xFF. На практике, однако, очень немногие программы принимают " /:" или " [:". (Вы можете даже определить foo:этот путь, но он просто не будет работать.)
user1686
@Dennis, который кажется счастливым с 3.1 или 9x, я хотел бы проверить это, но нет возможности для прямого или косвенного (как вы предлагаете) дать диску не альфа-назначение в системах NT.
Дастин Г.
2
@DustinG .: Я гуглил это, и 32 буквы диска кажутся частным случаем Windows 95, 98 и (возможно) Me. Тем не менее, есть еще способ, который будет работать в Windows 7: попробуйте subst [: C:\ . Теперь у вас есть буква диска [.
Деннис
2

Вы можете создавать собственные именованные «диски» с помощью системы поставщика PowerShell . Вы бы сделали что-то вроде

PS> New-PSDrive -name myDrive -PSProvider FileSystem -Root "F:"

Затем вы получите доступ к файлам / каталогам на том же диске, как

PS> dir myDrive:\whatever\foo

Из вашего вопроса не было ясно, находились ли вы в скриптовой / консольной среде или хотели ли вы видеть это в проводнике Windows. Кроме того, я предполагаю, что вы говорили о файловой системе "том". Система поставщиков PowerShell также поддерживает другие типы поставщиков.

Энтони Мастреан
источник