Questão Procurar um caminho UNC usando o Windows CMD sem mapeá-lo para uma unidade de rede


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

O que eu costumo fazer para contornar isso é mapear esse diretório para uma unidade de rede e, em seguida, eu poderia acessá-lo facilmente a partir do prompt de comando.

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


119


origem


Quais janelas você usa? Se é o Windows 7, você tem o powershell pré-instalado em seu sistema. O Powershell suporta unc-paths e cmd-commands (com poucas exceções). - wullxz
Você sempre pode navegar para o caminho unc através da execução. - Not Kyle stop stalking me
@wullxz: Felicidades, eu não sabia que você poderia procurar caminhos UNC com o PowerShell. @kyle: Essa é realmente uma resposta válida de acordo com a minha pergunta :) Mas eu quero acessá-la a partir de um ambiente de linha de comando. Irá modificar a minha pergunta para tornar 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: \\ nome do computador \ nome do compartilhamento - Al Crowley
@Aleister Crowley: Sim, eu sei, mas estou perguntando se há uma maneira mais fácil que não envolve o mapeamento de uma unidade de rede. - Andreas Grech


Respostas:


Se você usar pushd e popd ao invés de cd você não receberá esse erro UNC.

pushd <UNC path> irá criar um drive virtual temporário e entrar nele.
popd irá apagar a unidade temporária e levá-lo de volta para o caminho 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>

171



Usando pushd cria um mapeamento de unidade para o compartilhamento de rede e, em seguida, altera para um caminho relativo ao compartilhamento que ele cria. popd desconecta o compartilhamento. - Dov
Elegante e rápido. Obrigado. - Bruno Bieri
Isso 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
É só funcionou para mim no Windows 10, que estranho. eu fiz pushd \\ServerName\home\dir\dir2. - Diziet
Nativo e elegante, apenas uma maravilha. Funciona para o Windows 10. - WesternGun


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

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

enter image description here


12



Este programa é mais incrível! - afrazier
Estou chocado com a captura de tela, ela existe! - LiuYan 刘研
lembre-se de abrir a // unidade e não uma versão mapeada. Ele falhará no mapeado. - twobob


eu uso Git Bash para fazer isso, desde que eu já tenho instalado.

enter image description here

Como um bônus adicional:
Também tem cores melhores, vamos usar ls, rm, etc., e usa a barra correta para caminhos. : P


11



Você também pode usar barras invertidas se escapar delas com barras invertidas: cd \\\\server\\share\\subdirectory - user121391
Além disso, se você tentar usar o preenchimento de tabulação com nomes de computador, o shell poderá travar por algum tempo até que os nomes sejam resolvidos. - user121391


Eu também acertei o problema da UNC com C:\> cd \\somewhere em um programa C. Encontrei esta página e aprendi sobre o net comando: net use x: \\computer name\share name e usei com sucesso! Obrigado a todos que postam suas experiências para os outros aprenderem. :-)


6



Sim, mas usando net use irá mapear esse local para uma unidade de rede e não é isso que eu queria. - Andreas Grech
@AndreasGrech, na verdade pushd faz isso também. - Pacerier
Isso funciona bem em Far+ConEmudiferentemente pushd. - Dzmitry Lahoda


Se você está usando o XP você pode dar uma olhada neste site http://support.microsoft.com/kb/156276

Existe um valor de registro que você precisa adicionar, fazer logout, logar novamente ... e agora o seu cmd.exe suporta UNC-Paths. Parece-me que você ainda não pode cd para o caminho, mas você pode usá-lo em outros comandos como dir, copie ...

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


4



As páginas que você vinculou parecem páginas vazias ...... - Pacerier
Os links funcionam aqui. Você já tentou usar https? - BigBlackDog


Você pode usar o aplicativo HttpFileServer, ele 'sobre windows, muito leve e muito fácil de configurar, ele permite que você compartilhe 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


-3



Não é muito útil para um usuário de linha de comando. - Isaac Rabinovitch
Eu concordo que este é um pedaço incrível de software, mas como ele pode ser usado para contornar o fato de que o aplicativo de janela CMD não manipula UNC? - Jay Elston