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?
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é.
Ou vous pouvez basculer votre Shell sur PowerShell . Il prend en charge complètement les chemins UNC.
Vous pouvez utiliser Net Use
pour mapper un lecteur réseau sur un chemin UNC, puis recherchez le lecteur mappé.
Explication légèrement plus longue de pushd ici: http://shortfastcode.blogspot.com/2010/05/how-to-deal-with-cmd-does-not-support.html
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.
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.
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
Hé, en voici un à essayer ...
Allez à cette page et recherchez "autoriser le chemin unc" ... cela fonctionnera-t-il?
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\"
La commande junction command ne fonctionnerait-elle pas ici?