it-swarm.com.de

Wie gehen Sie mit "CMD unterstützt keine UNC-Pfade als aktuelle Verzeichnisse" um?

Ich versuche, Verzeichnisse auf einen Dateiserver zu ändern, z.

cd \\someServer\\someStuff\

Ich erhalte jedoch den folgenden Fehler:

CMD unterstützt keine UNC-Pfade als aktuelle Verzeichnisse

Welche Optionen habe ich, um zu diesem Verzeichnis zu navigieren?

25
Ray Vega

Wenn Sie ein Skript erstellen möchten, ist es immer hilfreich, sich mit den Befehlen pushd und popd vertraut zu machen. Manchmal können Sie nicht sicher sein, welche Laufwerksbuchstaben bereits auf dem Computer verwendet werden, auf dem das Skript ausgeführt wird, und Sie müssen lediglich den nächsten verfügbaren Laufwerksbuchstaben verwenden. Da Sie für Net Use Das Laufwerk angeben müssen, können Sie einfach pushd \\server\folder Und dann popd verwenden, wenn Sie fertig sind.

34
pk.

Oder Sie können Ihre Shell auf PowerShell umstellen. Es bietet vollständige Unterstützung für UNC-Pfade.

15
Berzemus

Du könntest benutzen Net Use, um ein Netzwerklaufwerk einem UNC-Pfad zuzuordnen und dann zum zugeordneten Laufwerk zu navigieren.

11
Sam Cogan
2
Daniel

Das hat bei mir in Win8x64 funktioniert:

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

Sie sollten dies auch in HKCU tun können. Stellen Sie einfach sicher, dass Sie sich abmelden und wieder anmelden.

1
JohnZaj

Sie können nicht nur ein Laufwerk explizit zuordnen, damit cmd damit umgehen kann, was möglicherweise auch von anderen Dienstprogrammen benötigt wird, sondern auch eine alternative Befehlsshell wie PowerShell ausprobieren.

1
David Spillett

gemäß @pk benutze pushd & popd, hier ist ein Beispiel.

verwenden Sie pushd, um ein temporäres virtuelles Laufwerk zu erstellen, und führen Sie anschließend ein Popd aus, um das temporäre virtuelle Laufwerk zu löschen

: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

Hey, hier ist einer zum Ausprobieren ...

Gehen Sie zu diese Seite und suchen Sie nach "allow unc path" ... wird das funktionieren?

Es gibt mehr Hintergrund hier und hier

0

Sie haben einen zusätzlichen Backslash in Ihrem UNC. Der doppelte Backslash VOR "someServer" IS angemessen. Der doppelte Backslash vor "someStuff" sollte ein einzelner Backslash sein, nein?

Also versuche

\\ someServer\someStuff\"

NICHT

\\ someServer \\ someStuff\"

0
HumbleStudent

Würde das Junction-Befehl hier nicht funktionieren?

0