Procure um caminho UNC usando o Windows CMD sem mapear para uma unidade de rede


154
C:\> cd \\somewhere
'\\somewhere'
CMD does not support UNC paths as current directories.

O que costumo fazer para contornar isso é mapear esse diretório para uma unidade de rede e então eu poderia acessá-lo facilmente no prompt de comando.

Mas existe uma maneira mais fácil de contornar isso?


12
quais janelas você usa? Se for o Windows 7, você já instalou o PowerShell em seu sistema. O Powershell suporta caminhos não abertos e comandos cmd (com poucas exceções).
Wullxz 13/05

Você sempre pode navegar para o caminho unc através da execução.
Supercereal

1
@wullxz: Saúde, eu não sabia que era possível procurar caminhos UNC com o PowerShell. @ kyle: Essa é realmente uma resposta válida de acordo com a minha pergunta :) Mas eu quero acessá-la em um ambiente de linha de comando. Modificarei minha pergunta para deixar isso mais claro.
Andreas Grech

Se o seu problema é que você precisa trabalhar apenas a partir da linha de comando, você pode mapear a unidade de rede com o comando 'net': net use x: \\ computador nome do compartilhamento \ nome
Al Crowley

1
@Aleister Crowley: Sim, eu sei, mas estou perguntando se existe uma maneira mais fácil que não envolva o mapeamento de uma unidade de rede.
Andreas Grech

Respostas:


210

Se você usar pushde em popdvez de cdvocê não receberá esse erro UNC.

pushd <UNC path>criará uma unidade virtual temporária e entrará nela.
popdexcluirá a unidade temporária e retornará ao caminho em que você estava quando entrou pushd.

Exemplo:

C:\a\local\path> pushd \\network_host\a\network\path

U:\a\network\path> REM a temporary U: virtual drive has been created

U:\a\network\path> popd

C:\a\local\path> REM the U: drive has been deleted

C:\a\local\path>

13
Usar pushdcria um mapeamento de unidade para o compartilhamento de rede e depois muda para um caminho relativo ao compartilhamento que ele cria. popddesconecta o compartilhamento.
Dov

2
Isto não funcionou para mim no Windows 10.C:\WINDOWS\system32>pushd \\some\network\path ' ' CMD does not support UNC paths as current directories.
kayleeFrye_onDeck

1
Apenas funcionou para mim no Windows 10, que estranho. Eu fiz pushd \\ServerName\home\dir\dir2.
Diziet

3
Nativo e elegante, apenas uma maravilha. Funciona para Windows 10.
WesternGun

Existe algum truque para fazê-lo funcionar quando as credenciais de compartilhamento não coincidem com as credenciais de usuário da máquina?
Perkins

15

Eu uso o Git Bash para fazer isso, pois já o tenho instalado.

insira a descrição da imagem aqui

Como um bônus adicional:
Ele também tem cores melhores, vamos me usar ls, rmetc., e usa a barra correto para caminhos. : P


Você também pode usar barras invertidas se as escapar com barras invertidas:cd \\\\server\\share\\subdirectory
user121391

1
Além disso, se você tentar usar o preenchimento de guias com nomes de computadores, o shell poderá travar por algum tempo até que os nomes sejam resolvidos.
user121391

ele não funciona para mim
KansaiRobot

12

A "ContextConsole Shell Extension" de Kliu (também conhecida como Open Command Prompt) diz que "pode ​​até abrir diretórios a partir de caminhos de rede (caminhos UNC)" (a partir de uma janela do Explorer).

http://code.kliu.org/cmdopen/

insira a descrição da imagem aqui


3
Este programa é mais incrível!
afrazier 13/05/11

1
Estou chocado com a captura de tela, ela existe!
Liuyan刘研

lembre-se de abrir o // drive e não uma versão mapeada. Ele falhará no mapeado.
Twobob #

8

Eu também bati o problema UNC com C:\> cd \\somewhereem um programa C. Encontrei esta página e aprendi sobre o netcomando: net use x: \\computer name\share namee usei com sucesso! Obrigado a todos que postaram suas experiências para que outros possam aprender. :-)


1
Sim, mas usar net useirá mapear esse local para uma unidade de rede e não é isso que eu queria.
Andreas Grech 28/01

2
@AndreasGrech, na verdade também pushdfaz isso.
Pacerier

Isso funciona bem em Far+ ConEmu, ao contrário pushd.
Dzmitry Lahoda

@Pacerier Mas pushdseleciona automaticamente uma letra de unidade e desconecta a unidade de rede quando não é mais necessária (depois popdou exit).
Martin

4

Se você estiver usando o XP, consulte este site http://support.microsoft.com/kb/156276

Há um valor de registro que você precisa adicionar, sair e fazer login novamente ... e agora o seu cmd.exe oferece suporte a caminhos UNC. Parece-me que você ainda não pode cd para o caminho, mas você pode usá-lo em outros comandos como dir, copiar ...

Uma alternativa pode estar usando o comando pushd, que permitirá que você alterne para o compartilhamento (acho que atribuindo uma letra de unidade temporária) http://support.microsoft.com/kb/317379


As páginas ligadas parecer páginas vazias ......
Pacerier

Os links funcionam aqui. Você já tentou usar https?
precisa saber é o seguinte

-3

Você pode usar o aplicativo HttpFileServer, através de janelas, muito leve e muito fácil de configurar, permite compartilhar uma pasta de rede UNC (\ server \ share) com o protocolo HTTP e o link HTTP pode ser usado em qualquer página HTML

http://www.rejetto.com/hfs/

é incrível


8
Não é muito útil para um usuário de linha de comando.
Isaac Rabinovitch

Concordo que este é um software incrível, mas como ele pode ser usado para contornar o fato de que o aplicativo de janela CMD não manipula UNC?
Jay Elston
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.