Sfoglia un percorso UNC utilizzando Windows CMD senza mapparlo su un'unità di rete


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

Quello che faccio di solito per aggirare questo è mappare quella directory su un'unità di rete e quindi potrei facilmente accedervi dal prompt dei comandi.

Ma c'è un modo più semplice su come aggirare questo?


12
quali finestre usi? Se è Windows 7, hai PowerShell preinstallato sul tuo sistema. Powershell supporta unc-path e cmd-command (con poche eccezioni).
Wullxz,

Puoi sempre passare al percorso unc durante l'esecuzione.
Supercereal

1
@wullxz: evviva, non sapevo che avresti potuto esplorare i percorsi UNC con PowerShell. @kyle: Questa è in realtà una risposta valida secondo la mia domanda :) Ma voglio accedervi da un ambiente a riga di comando. Modificherò la mia domanda per renderlo più chiaro.
Andreas Grech,

Se il tuo problema è che devi lavorare solo dalla riga di comando, puoi mappare l'unità di rete con il comando 'net': net use x: \\ nome computer \ condividi nome
Al Crowley

1
@Aleister Crowley: Sì, lo so, ma sto chiedendo se esiste un modo più semplice che non implichi la mappatura di un'unità di rete.
Andreas Grech,

Risposte:


210

Se usi pushde popdinvece di cdte non otterrai quell'errore UNC.

pushd <UNC path>creerà un'unità virtuale temporanea e vi entrerà.
popdeliminerà l'unità temporanea e ti riporterà al percorso che eri quando sei entrato pushd.

Esempio:

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
L'utilizzo pushdcrea una mappatura dell'unità sulla condivisione di rete e quindi si trasforma in un percorso relativo alla condivisione creata. popddisconnette la condivisione.
Dov

2
Questo non ha funzionato per me su Windows 10.C:\WINDOWS\system32>pushd \\some\network\path ' ' CMD does not support UNC paths as current directories.
kayleeFrye_onDeck

1
Ha funzionato per me in Windows 10, che strano. L'ho fatto pushd \\ServerName\home\dir\dir2.
Diziet,

3
Nativo ed elegante, solo una meraviglia. Funziona per Windows 10.
WesternGun

C'è qualche trucco per farlo funzionare quando le credenziali di condivisione non corrispondono alle credenziali dell'utente della macchina?
Perkins,

15

Uso Git Bash per farlo, poiché l'ho già installato.

inserisci qui la descrizione dell'immagine

Come bonus aggiuntivo:
Ha anche colori migliori, diamo farmi usare ls, rme così via, e utilizza la barra corretto per i percorsi. : P


Puoi anche usare le barre rovesciate se riesci a sfuggirle con le barre rovesciate:cd \\\\server\\share\\subdirectory
user121391

1
Inoltre, se si tenta di utilizzare il completamento della scheda con i nomi dei computer, la shell potrebbe bloccarsi per qualche tempo fino alla risoluzione dei nomi.
user121391,

non funziona per me
KansaiRobot

12

"ExtensionConsole Shell Extension" di Kliu (alias Apri prompt dei comandi) afferma che "può persino aprire directory da percorsi di rete (percorsi UNC)" (da una finestra di Explorer).

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

inserisci qui la descrizione dell'immagine


3
Questo programma è fantastico!
Afrazier

1
sono scioccato dallo screenshot, esiste!
LiuYan 刘 研

ricordati di aprire il // drive e non una versione mappata. Non verrà eseguito il mapping.
twobob,

8

Ho anche colpito il problema UNC con C:\> cd \\somewherein un programma C. Ho trovato questa pagina e imparato il netcomando: net use x: \\computer name\share namee l'ho usata con successo! Grazie a tutti coloro che pubblicano le proprie esperienze affinché gli altri possano imparare. :-)


1
Sì, ma l'utilizzo net usemapperà quella posizione su un'unità di rete e non è quello che volevo.
Andreas Grech,

2
@AndreasGrech, pushdanche quello.
Pacerier,

Funziona bene in Far+ ConEmu, a differenza pushd.
Dzmitry Lahoda,

@Pacerier Ma pushdseleziona automaticamente una lettera di unità e disconnette l'unità di rete quando non è più necessaria (dopo popdo exit).
Martin,

4

Se stai usando XP puoi dare un'occhiata a questo sito http://support.microsoft.com/kb/156276

Esiste un valore di registro che è necessario aggiungere, disconnettersi, riconnettersi ... e ora cmd.exe supporta i percorsi UNC. Mi sembra che non sia ancora possibile eseguire il cd sul percorso, ma è possibile utilizzarlo in altri comandi come dir, copy ...

Un'alternativa potrebbe essere l'utilizzo del comando pushd, che ti consentirà di passare alla condivisione (immagino assegnandogli una lettera di unità temporanea) http://support.microsoft.com/kb/317379


Le pagine che hai collegato sembrano pagine vuote ......
Pacerier

I link funzionano qui. Hai provato a usare https?
BigBlackDog

-3

Puoi usare l'applicazione HttpFileServer, è su Windows, molto leggero e molto facile da configurare, ti permette di condividere una cartella di rete UNC (\ server \ share) con protocollo HTTP e il link HTTP può essere usato in qualsiasi pagina HTML

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

è fantastico


8
Non molto utile per un utente della riga di comando.
Isaac Rabinovitch,

Concordo sul fatto che si tratta di un software straordinario, ma come può essere utilizzato per aggirare il fatto che l'app per finestre CMD non gestisce UNC?
Jay Elston,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.