web-dev-qa-db-fra.com

Comment gérez-vous "CMD ne prend pas en charge les chemins UNC en tant que répertoires actuels"?

J'essaie de changer les répertoires en un serveur de fichiers tel que:

cd \\someServer\\someStuff\

Cependant, j'obtiens l'erreur suivante:

CMD ne prend pas en charge les chemins UNC en tant que répertoires actuels

Quelles sont mes options pour accéder à ce répertoire?

25
Ray Vega

Si vous envisagez de l'écrire, il est toujours utile d'en savoir plus sur les commandes pushd et popd. Parfois, vous ne pouvez pas être sûr des lettres de lecteur déjà utilisées sur la machine sur laquelle le script s'exécutera et il vous suffit de prendre la prochaine lettre de lecteur disponible. Depuis Net Use vous demandera de spécifier le lecteur, vous pouvez simplement utiliser pushd \\server\folder puis popd lorsque vous avez terminé.

34
pk.

Ou vous pouvez basculer votre Shell sur PowerShell . Il prend en charge complètement les chemins UNC.

15
Berzemus

Vous pouvez utiliser Net Use pour mapper un lecteur réseau sur un chemin UNC, puis recherchez le lecteur mappé.

11
Sam Cogan
2
Daniel

Cela a fonctionné pour moi dans Win8x64:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"DisableUNCCheck"=dword:00000001

Vous devriez également pouvoir le faire dans HKCU, assurez-vous simplement de vous déconnecter puis de vous reconnecter.

1
JohnZaj

En plus de mapper explicitement un lecteur afin que cmd puisse faire face, ce qui pourrait également être nécessaire pour d'autres utilitaires, vous pouvez également essayer une autre commande Shell comme PowerShell.

1
David Spillett

selon @pk, utilisez pushd & popd, voici un exemple.

utilisez pushd pour créer un lecteur virtuel temporaire et après avoir fait un popd pour supprimer le lecteur virtuel temporaire

:selectFolder
REM Confirm which Folder structure
set /p location="Delete files for which QA environment: (P)retoria, (C)ape, (L)uanda or (Q)uit? (C/L/P/Q)"
REM  I option allows for upper and lower case
if /I "%location%"=="C" set folder="\\Tfwcqa\tfwcqa\EORDERS"
if /I "%location%"=="L" set folder="\\Tfluaqa\tfluaqa\EORDERS"
if /I "%location%"=="P" set folder="\\Tfptaqa\tfptaqa\EORDERS"
if /I "%location%"=="Q" goto endBatch

REM you can not cd to a network drive so we use pushd to create a temporary virtual drive
REM cd /d %folder%
pushd %folder%

DIR /S

REM popd deletes the temporary virtual drive
popd
1
AquaAlex

Hé, en voici un à essayer ...

Allez à cette page et recherchez "autoriser le chemin unc" ... cela fonctionnera-t-il?

Il y a plus de fond ici et ici

0
Bart Silverstrim

Vous avez une barre oblique inverse supplémentaire dans votre UNC. La double barre oblique inverse AVANT "someServer" IS approprié. La double barre oblique inverse avant "someStuff" devrait être une barre oblique inverse unique, non?

Alors, essayez

\\ someServer\someStuff\"

NE PAS

\\ someServer \\ someStuff\"

0
HumbleStudent

La commande junction command ne fonctionnerait-elle pas ici?

0
Bart Silverstrim