Як ви поводитесь "CMD не підтримує UNC-контури як поточні каталоги"?


24

Я намагаюся змінити каталоги на файловому сервері, наприклад:

cd \\someServer\\someStuff\

Однак я отримую таку помилку:

CMD не підтримує UNC-шляхи як поточні каталоги

Які мої варіанти переходу до цього каталогу?


Відповіді:


34

Якщо ви думаєте про його сценарій, завжди корисно дізнатися про команди pushdта popdкоманди. Іноді ви не можете бути впевнені, які букви накопичувачів вже використовуються на апараті, на якому буде виконуватися сценарій, і вам просто потрібно взяти наступний доступний лист диска. Оскільки net useвам потрібно буде вказати накопичувач, ви можете просто скористатися pushd \\server\folderі тоді, popdколи закінчите.


Якщо ви вкажете "*" замість букви диска, чисте використання буде використовувати першу доступну перевірку диска від ZA. тож "чисте використання * \\ сервер \ спільний доступ" без жодного Z:
накопичений

Але тоді ви не знаєте, яку літеру накопичувача відобразили для решти сценарію.
tomfanning

@tomfanning Ви можете знайти букву диска, скориставшись цим (wmic logicdisk отримати заголовки, ім'я постачальника, тип води, ім'я тома) з командного рядка, а потім проаналізуйте вихід, шукаючи \\ ім'я сервера \ ім'я спільного доступу. serverfault.com/questions/62578/…
Кріс Магнусон

1
@pk. Що робити, якщо сценарій вийшов з ладу до того, як він запуститься popd?
Pacerier

15

Або ви можете переключити свою оболонку на PowerShell . Він має повну підтримку UNC-шляхів.


За винятком випадків, коли explorer.exe містить файл, який ви намагаєтесь видалити. Навіть із закритим вікном провідника, я думаю, що постачальник файлових систем PS (припускаючи, що він є провайдером), ймовірно, використовує explor.exe під кришкою. чи ти кажеш, що існує спосіб використання UNC без постачальника?
JohnZaj

11

Ви можете використовувати net useдля картування мережевого накопичувача до шляху UNC, а потім перейти до відображеного на диску.


2
Правда, це єдиний спосіб зробити це з командного рядка, але будьте обережні, використовуючи це для чого-небудь, крім команд, що викидають (тобто для тих, що ви робите лише один раз), оскільки в іншому випадку ви стикаєтеся з проблемами, коли диск не відображається або не є відображено, але не пов’язано, та кілька імен користувачів :(
Марк Хендерсон

1
Ви не можете змінити цей каталог, але ви все одно можете використовувати його в командах: dir \\ someserver \ stuff call \\ someserver \ stuff \ what.bat
Benoit

1
Насправді ви можете використовувати \\ someserver \ share ... для цього просто потрібен рег-хак :-)
Bart Silverstrim

@BartSilverstrim, як?
Pacerier


1

Окрім явного відображення накопичувача, щоб він cmdміг впоратися, що може знадобитися і іншим утилітам, ви також можете спробувати альтернативну оболонку команди, як PowerShell.


1

Це працювало для мене в Win8x64:

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

Ви також можете це зробити і в HKCU, просто переконайтеся, що ви виходите з нього і знову вмикаєтесь.


1

відповідно до @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

0

Чи не працювала б тут команда з'єднання ?


1
Не думайте, що перехід працює лише для місцевих каталогів.
Берземус

Це працює? Зі статті Вікіпедії: "Пункти сполучення можуть посилатися лише на каталоги на локальному томі; точки з'єднання з віддаленими спільними ресурсами не підтримуються."
Пітер Мортенсен

@#%!# ти правий. Я думав, що це як команда монтування, забув, що у мене була ця проблема, коли я вивчив її два роки тому. зітхайте Вибачте ...
Барт Сільверстрім

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