Перегляньте шлях 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.