É possível montar um volume em um prefixo de unidade personalizado, por exemplo, "myDrive: \"?

13

Eu sou apenas um sonhador, ou existe algo assim?

iglvzx
fonte
3
Montar em uma pasta será a coisa mais próxima.
Surfasb
Um problema é que o caractere :também é usado para separar o nome do arquivo e o nome do Alternate Data Stream . MyDrive:Foonomeia o fluxo Foo no arquivo MyDrive, não o arquivo Foo no diretório de trabalho atual do disco MyDrive. Além disso, por que você quer fazer isso?
MSalters
Achei que poderia ser mais fácil com atalhos estáticos e coisas assim. Por exemplo, se eu tiver um link para E: \ etc, só será útil se E: ainda tiver o mesmo volume. Suponho que uma solução melhor seria montar o volume em Z: ou outras letras nunca usadas.
iglvzx

Respostas:

13

Não, você não pode. É chamado de letra da unidade por um motivo.

O comando myDrive:dá o erro

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

Observe que isso não precisa ser uma letra no sentido tradicional. Você pode ligar para a sua unidade [:, por exemplo.

O DOS permitiu que você usasse todos os caracteres ASCII entre A e ` (ambos inclusos), oferecendo um total de 32 letras de unidade diferentes. Não tenho certeza de como acessar os últimos 6 no Windows.

O mais perto que você pode chegar do seu "sonho" é montar. Por exemplo, você pode montar uma unidade (uma partição, na verdade) na pasta C:\myDrive.

Outra "solução" que funcionará para o Windows Explorer é adicionar um valor de seqüência de caracteres expansível à chave do Registro

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

É aqui que os locais reais do Desktop , Minhas músicas e outros são armazenados.

Dennis
fonte
4
Uma letra de unidade precisa ser AZ, você não pode ter um caractere não alfa. Como você disse "É chamada de letra da unidade por um motivo"
Dustin G.
1
@DustinG .: Não conheço versões recentes do Windows, mas as que ainda tinham um config.sys podem ter letras de unidade que não são letras. Tudo o que você precisa é de 2 unidades ópticas e a especificação de Z como a primeira letra da unidade. Isto é como eu acabou com [:um par de vezes ...
Dennis
1
@DustinG: Tecnicamente, DefineDosDevice () no Windows NT aceita qualquer coisa no intervalo 0x1..0xFF. Na prática, porém, muito poucos programas aceitam " /:" ou " [:". (Você pode até mesmo definir foo:dessa maneira, mas ele simplesmente não vai funcionar.)
user1686
@ Dennis que parece ser um acaso com 3.1 ou 9x, eu gostaria de testar isso, mas não há nenhuma facilidade para direta ou indiretamente (como você propõe) dar a uma unidade uma atribuição não alfa nos sistemas NT.
Dustin G.
2
@DustinG .: Eu pesquisei no Google e as 32 letras de unidade parecem ser um caso especial do Windows 95, 98 e (possivelmente) Eu. No entanto, ainda existe um método que funcionará no Windows 7: Tente subst [: C:\ . Agora você tem a letra da unidade [.
Dennis
2

Você pode criar "unidades" nomeadas personalizadas usando o sistema de provedor do PowerShell . Você faria algo como

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

Você acessaria os arquivos / diretórios na mesma unidade, como

PS> dir myDrive:\whatever\foo

Não ficou claro em sua pergunta se você estava em um ambiente com script / console ou se queria ver isso especificamente no Windows Explorer. Além disso, suponho que você estava falando sobre um "volume" do sistema de arquivos. O sistema do provedor PowerShell também suporta outros tipos de fornecedores.

Anthony Mastrean
fonte