Перегляньте шлях UNC за допомогою Windows CMD, не відображаючи його на мережевому диску


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

Що я зазвичай роблю, щоб обійти це, це зіставити цей каталог на мережевий диск, і тоді я міг легко отримати доступ до нього з командного рядка.

Але чи є простіший спосіб, як обійти це?


12
які вікна ви використовуєте? Якщо це Windows 7, ви вже встановили повноваження у вашій системі. Powershell підтримує unc-шляху та cmd-команди (за невеликими винятками).
wullxz

Ви завжди можете переглядати unc шлях через run.
Суперсередовище

1
@wullxz: ура, я не знав, що ви можете переглядати шляхи UNC за допомогою PowerShell. @kyle: Це насправді правильна відповідь на моє запитання :) Але я хочу отримати доступ до неї з середовища командного рядка. Зміню моє запитання, щоб зробити це більш зрозумілим.
Андреас Греч

Якщо ваша проблема полягає в тому, що вам потрібно працювати лише з командного рядка, ви можете зіставити мережевий диск за допомогою команди "net": net use x: \\ ім'я комп'ютера \ ім'я спільного доступу
Al Crowley

1
@Aleister Crowley: Так, я знаю, але я запитую, чи є простіший спосіб, який не передбачає відображення мережевого накопичувача.
Андреас Греч

Відповіді:


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відключає частку.
Dov

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.
Дізіет

3
Рідний і елегантний, просто диво. Працює для Windows 10.
WesternGun

Чи є якийсь трюк, щоб змусити його працювати, коли облікові дані обміну не відповідають обліковим даних користувачів машини?
Перкінс

15

Для цього я використовую Git Bash , оскільки він уже встановлений.

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

Як додатковий бонус:
він також має кращі кольори, давайте мені використовувати ls, rmі т. Д., І використовує правильний нахил для шляхів. : P


Ви також можете використовувати зворотні косої риси, якщо уникнути їх з cd \\\\server\\share\\subdirectory
накидами

1
Крім того, якщо ви спробуєте використати доповнення вкладки з іменами комп’ютерів, оболонка може замкнутись на деякий час, поки імена не будуть вирішені.
користувач121391

для мене це не працює
KansaiRobot

12

«Розширення оболонки ContextConsole оболонки» Кліу (він же відкритий командний рядок) говорить, що «навіть може відкривати каталоги з мережевих шляхів (шляхи UNC)» (з вікна провідника).

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

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


3
Ця програма є найдивовижнішою!
afrazier

1
Я шокований екраном, він існує!
LiuYan 刘 研

не забудьте відкрити // диск, а не зіставлену версію. На карті не вийде.
twobob

8

Я також потрапив до проблеми UNC C:\> cd \\somewhereв програмі C. Знайшов цю сторінку та дізнався про 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-Paths. Мені здається, ти все ще не можеш записати компакт-диск на шлях, але ти можеш використовувати його в інших командах, таких як dir, copy ...

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


Сторінки, на які ви пов’язані, здаються порожніми сторінками ......
Pacerier

Тут працюють посилання. Ви спробували використовувати https?
BigBlackDog

-3

Ви можете використовувати додаток HttpFileServer, він над вікнами, дуже легкий і дуже простий у налаштуванні, він дозволяє вам ділитися мережевою папкою UNC (\ сервер \ спільний доступ) з протоколом HTTP, а HTTP-посилання можна використовувати на будь-якій сторінці HTML

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

це дивовижно


8
Не дуже корисно для користувача командного рядка.
Ісаак Рабінович

Я погоджуюся, що це дивовижна частина програмного забезпечення, але як його можна використати, щоб обійти той факт, що вікно програми CMD не обробляє UNC?
Джей Елстон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.