No Windows, como montar uma pasta como uma unidade


32

Eu tenho uma pasta, digamos C: \ foo, quero montar como unidade M: \

No linux, eu faria isso com uma montagem de ligação.

Respostas:


50

Você pode usar o comando subst no Windows.

subst m: c:\foo

Para fazer um redirecionamento persistente, você pode editar o registro. Adicione um valor de sequência (REG_SZ) a:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices

Defina o nome do valor para a letra da unidade (por exemplo, M :) e os dados para:

\??\C:\foo\foosub

Este método funcionará em logins e reinicializações. Eu testei isso no Windows 2008, por isso também deve funcionar no Vista, XP, 2003 e 2000.


1
Ah, +1. Esqueceu o comando subst, não o usa há mais de 10 anos! Eu não acho que seja persistente? Talvez eu esteja errado, ele tem sido um tempo ...
squillman

Coloque-o em um script de logon ou inicialização e será feliz e persistente. Você pode fazer isso na diretiva de grupo local, sem precisar ir para o nível de domínio.
Maximus Minimus

1
Ei, isso é legal! Eu não sabia sobre isso, +1, eu vou usá-lo ..
Greg Meehan

esse é o caminho a seguir - infelizmente, existem vários casos em que uma unidade substituída não é reconhecida adequadamente. Não se surpreenda se você receber mensagens de erro estranhas a partir do Windows, por vezes, quando você fazer coisas com sua unidade subst .....
marc_s

2
Eu adicionei outro método que é persistente.
21410 Doug Luxem

7

Subst também funciona no Vista:

C:\Users\juan>subst /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives

.


5
  • Clique com o botão direito do mouse na pasta e selecione Compartilhamento e Segurança
  • Selecione Compartilhar esta pasta
  • Atribua um nome de compartilhamento (por exemplo, myshare)
  • aperte Ok

Mapear uma unidade (M :) para \\ yourcomputername \ myshare


4

Na linha de comando:

subst M: C:\foo

Isso funciona no Windows XP, não o testou em outras versões.


batida pela arma mais rápido
Ian Kelling

Sim. Não deveria ter testado o comando primeiro: p
goldPseudo

3

Subst é a resposta correta. Você deve estar ciente de que subst é uma configuração por sessão. Ele desaparece quando você se desconecta e se você usa runas para criar um contexto de logon secundário, seu sub-drive não estará disponível para esses aplicativos.

Você pode criar um atalho (.lnk) no seu grupo de inicialização para recriar essas unidades secundárias. A propriedade target do .lnk precisa ser algo como isto:

C: \ Windows \ System32 \ cmd.exe / c subst S: C: \ Alguns \ Extremamente \ Obscuro \ Caminho \ Of \ My \ Own \ src

Usamos essa técnica para garantir que todos os desenvolvedores criem símbolos de depuração com o mesmo caminho de S: \

Há também um miniaplicativo visual lá fora.


2

Você também pode fazer isso no PowerShell. Eu uso o seguinte para definir uma unidade para minha pasta de trabalho Suvbversion:

new-psDrive -name SVN -psprovider FileSystem -root 'c:\documents and settings\xxxx\my documents\subversion\adminscripts\trunk'

Você pode acessá-lo como:

cd svn:

2
Observe que o método PowerShell não disponibiliza a "unidade" fora do PowerShell, portanto, não há acesso ao Explorer. Você pode fazer isso com objetos COM, mas nesse momento basta chamar SUBST de qualquer maneira.
22430 Ryan Fisher

2

Outra maneira de fazer isso, que talvez funcione um pouco melhor com a montagem no início, é usar o truque em http://windows.microsoft.com/en-us/windows7/Create-a-shortcut-to-map -a-network-drive (ou seja, Meu computador -> Ferramentas -> Mapear unidade de rede) e aproveitar o fato de que sua máquina local é um host de rede; Acabei de montar, por exemplo,

\ localhost \ Usuários \ me \ Documentos \ Meu Dropbox \ Música Portátil

para M: por aqui. Você pode usar \ localhost \ C $ \ para acessar tudo, mas tive alguns problemas com isso aqui (embora tenha funcionado para mim em outro lugar).

-Robin


1

Se você precisar de algo que seja entre sessões, poderá executar um destino iSCSI e um cliente iSCSI na mesma caixa. Obviamente, isso depende do seu sistema operacional para saber se você precisa de algo de terceiros para alcançá-lo.


0

use Subst Coloque isso em um arquivo .bat

@echo off
subst [DRIVE LETTER]: C:\[FOLDER]

Em seguida, salve o arquivo em lotes na pasta de inicialização no menu Iniciar. Se você estiver no Windows 8, poderá encontrar a pasta de inicialização pressionando Win + R e digitando%appdata%\Microsoft\Windows\Start Menu\Programs\Startup

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.