Просмотр пути UNC с помощью Windows CMD без привязки его к сетевому диску


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

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

Но есть ли более простой способ обойти это?


12
какие окна вы используете? Если это Windows 7, то в вашей системе предварительно установлен PowerShell. Powershell поддерживает unc-paths и cmd-команды (за редким исключением).
— wullxz

Вы всегда можете перейти к пути unc через run.
— Supercereal

1
@wullxz: ура, я не знал, что вы можете просматривать пути UNC с помощью PowerShell. @kyle: это действительно правильный ответ на мой вопрос :) Но я хочу получить к нему доступ из командной строки. Изменит мой вопрос, чтобы сделать это более понятным.
— Андреас Греч

Если ваша проблема заключается в том, что вам нужно работать только из командной строки, вы можете сопоставить сетевой диск с помощью команды «net»: net use x: \\ имя компьютера \ имя общего ресурса
— Al Crowley

1
@ Алистер Кроули: Да, я знаю, но я спрашиваю, есть ли более простой способ, который не включает в себя подключение сетевого диска.
— Андреас Греч

Ответы:


210

Если вы используете pushdи popdвместо cdвас не получит эту ошибку UNC.

pushd <UNC path>создаст временный виртуальный диск и залезет в него.
popdудалит временный диск и вернет вас на путь, который вы указали при вводе pushd.

Пример:

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
Использование pushdсоздает сопоставление диска с сетевым ресурсом, а затем меняет путь относительно общего ресурса, который он создает. popdотключает долю.
— Дов

2
Это не сработало для меня в Windows 10.C:\WINDOWS\system32>pushd \\some\network\path ' ' CMD does not support UNC paths as current directories.
— kayleeFrye_onDeck

1
Это просто работает для меня в Windows 10, как странно. Я сделал pushd \\ServerName\home\dir\dir2.
— Diziet

3
Родной и элегантный, просто чудо. Работает на Windows , 10
— WesternGun

Есть ли хитрость, чтобы заставить его работать, когда учетные данные общего ресурса не совпадают с учетными данными пользователя компьютера?
— Перкинс

15

Для этого я использую Git Bash , так как он уже установлен.

введите описание изображения здесь

В качестве дополнительного бонуса:
Она также имеет лучшие цвета, давайте мне использовать ls, rmи т.д., и использует правильный слэш для дорожек. :П


Вы также можете использовать обратную косую черту, если избегаете их обратной косой чертой:cd \\\\server\\share\\subdirectory
— user121391

1
Кроме того, если вы попытаетесь использовать завершение табуляции с именами компьютеров, оболочка может заблокироваться на некоторое время, пока имена не будут разрешены.
— user121391

это не работает для меня
— KansaiRobot

12

«Расширение оболочки ContextConsole» (также называемое Open Command Prompt) говорит, что «может даже открывать каталоги из сетевых путей (UNC-пути)» (из окна проводника).

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

введите описание изображения здесь


3
Эта программа самая классная!
— afrazier

1
Я в шоке от скриншота, он существует!
— LiuYan 研 研

не забудьте открыть диск //, а не отображенную версию. Это не удастся на карте.
— TwoBob

8

Я также столкнулся с проблемой UNC C:\> cd \\somewhereв программе на Си. Нашел эту страницу и узнал о netкоманде: net use x: \\computer name\share nameи успешно ее использовал! Спасибо всем, кто публикует свой опыт для других. :-)


1
Да, но использование net useсопоставит это местоположение с сетевым диском, а это не то, что я хотел.
— Андреас Греч

2
@AndreasGrech, на самом деле pushdэто тоже так.
— Pacerier

Это хорошо работает в Far+ ConEmu, в отличие от pushd.
— Дмитрий Лахода

@Pacerier Но pushdавтоматически выбирает букву диска и отключает сетевой диск, когда он больше не нужен (после popdили exit).
— Мартин

4

Если вы используете XP, вы можете взглянуть на этот сайт http://support.microsoft.com/kb/156276

Есть значение реестра, которое вам нужно добавить, выйти из системы, войти снова ... и теперь ваш cmd.exe поддерживает UNC-пути. Мне кажется, что вы все еще не можете перейти к пути, но вы можете использовать его в других командах, таких как dir, copy ...

Альтернативой может быть использование команды pushd, которая позволит вам переключиться на общий ресурс (я полагаю, присвоив ему временную букву диска) http://support.microsoft.com/kb/317379


Страницы, на которые вы
— ссылаетесь,

Ссылки работают здесь. Вы пытались использовать https?
— BigBlackDog

-3

Вы можете использовать приложение HttpFileServer, оно поверх окон, очень легкое и очень простое в настройке, оно позволяет вам совместно использовать сетевую папку UNC (\ server \ share) с протоколом HTTP, а ссылку HTTP можно использовать на любой странице HTML

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

это удивительно


8
Не очень полезно для пользователя командной строки.
— Исаак Рабинович

Я согласен, что это удивительное программное обеспечение, но как его использовать, чтобы обойти тот факт, что оконное приложение CMD не обрабатывает UNC?
— Джей Элстон
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.