it-swarm-ru.tech

Как вы справляетесь с «CMD не поддерживает UNC-пути в качестве текущих каталогов»?

Я пытаюсь изменить каталоги на файловый сервер, такой как:

cd \\someServer\\someStuff\

Однако я получаю следующую ошибку:

CMD не поддерживает пути UNC как текущие каталоги

Какие есть варианты для перехода в этот каталог?

25
Ray Vega

Если вы планируете написать сценарий, всегда полезно узнать о командах pushd и ​​popd. Иногда вы не можете быть уверены, какие буквы дисков уже используются на компьютере, на котором будет запускаться скрипт, и вам просто нужно взять следующую доступную букву диска. Поскольку Net Use вам потребуется указать диск, вы можете просто использовать pushd \\server\folder и ​​затем popd, когда вы закончите.

34
pk.

Или вы можете переключить свою оболочку на PowerShell . Он имеет полную поддержку путей UNC.

15
Berzemus

Вы могли бы использовать Net Use для сопоставления сетевого диска с путем UNC, а затем перейдите к подключенному диску.

11
Sam Cogan

Чуть более длинное объяснение pushd здесь: http://shortfastcode.blogspot.com/2010/05/how-to-deal-with-cmd-does-not-support.html

2
Daniel

Это работало для меня в Win8x64:

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

Вы должны быть в состоянии сделать это и в HKCU, просто убедитесь, что вы вышли и снова включились.

1
JohnZaj

Помимо явного сопоставления диска, чтобы cmd мог справиться, что может понадобиться и другим утилитам, вы также можете попробовать альтернативную команду Shell, например PowerShell.

1
David Spillett

согласно @pk используйте pushd & popd, вот пример.

используйте pushd для создания временного виртуального диска и после этого выполните команду popd для удаления временного виртуального диска

: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

Эй, вот один, чтобы попробовать ...

Перейдите на эту страницу и найдите "allow unc path" ... это будет работать?

Там больше фона здесь и здесь

0
Bart Silverstrim

У вас есть дополнительный обратный слеш в вашем UNC. Двойная обратная косая черта ДО "someServer" IS уместна. Двойная обратная косая черта перед "someStuff" должна быть одинарной обратной косой чертой, не так ли?

Поэтому постарайтесь

\\ someServer\someStuff \"

НЕ

\\ someServer \\ someStuff \"

0
HumbleStudent

Разве команда соединения не будет работать здесь?

0
Bart Silverstrim