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?

Andreas Grech
fonte
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>
evanmcdonnal
fonte
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

Dan
fonte
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

therube
fonte
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. :-)

Peter Evans
fonte
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

BigBlackDog
fonte
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

Salman
fonte
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