То, как Вы обрабатываете “CMD, не поддерживает пути UNC как текущие каталоги”?

Это наиболее вероятно проблема DNS. Удостоверьтесь, что DNS установлен на обоих Ваших DC (или отдельный сервер), и удостоверьтесь, что Exchange Server только имеет IP этих внутренних серверов DNS.

Когда тестирование смотрит на Ваши почтовые очереди и видит то, что ошибки показывают при нажатии на недоставленные очереди.

24
задан 5 August 2009 в 02:16
13 ответов

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

34
ответ дан 28 November 2019 в 20:14
  • 1
    Если Вы указываете ' *' вместо буквы диска сетевое использование будет использовать первую доступную проверку диска от Z-A. так ' сетевое использование * \\server\share' без Z: подключенный диск отобразился бы \\server\share на Z: –  Zypher 5 August 2009 в 06:46
  • 2
    Но затем Вы don' t знают, какая буква диска была отображена, в целях остальной части сценария. –  tomfanning 5 August 2009 в 11:41
  • 3
    @tomfanning можно найти букву диска при помощи этого (wmic logicaldisk получают подпись, providername, drivetype, volumename) от командной строки и затем анализируют вывод, ища Ваш \\servername\sharename. serverfault.com/questions/62578/… –  Chris Magnuson 7 September 2009 в 02:18

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

15
ответ дан 28 November 2019 в 20:14

Вы могли использовать net use подключить сетевой диск к пути UNC и затем просмотреть к сетевому диску.

11
ответ дан 28 November 2019 в 20:14
  • 1
    Верный это - единственный способ сделать это из командной строки, но опасаться использовать это для чего-либо кроме одноразовых команд (т.е. вещи Вы только делаете однажды), потому что иначе Вы сталкиваетесь с проблемами с диском, не отображаемым или отображаемым, но не соединенные, и несколько имен пользователей :( –  Mark Henderson♦ 5 August 2009 в 05:52
  • 2
    Вы can' t изменяются на этот каталог, но все еще можно использовать его в командах: dir \\someserver\stuff звонит \\someserver\stuff\whatever.bat –  Benoit 5 August 2009 в 11:21
  • 3
    На самом деле Вы смогли использовать \\someserver\share... Вам просто нужен взлом reg, чтобы сделать это :-) –  Bart Silverstrim 5 August 2009 в 17:31

А также явно подключая диск так, чтобы cmd может справиться, который мог бы быть необходим другим утилитам также, Вы могли также попробовать альтернативный командный процессор как PowerShell.

1
ответ дан 28 November 2019 в 20:14
0
ответ дан 28 November 2019 в 20:14
  • 1
    Don' t думают так, соединение только работает на локальные каталоги. –  Berzemus 5 August 2009 в 11:07
  • 2
    Это работает? Из статьи Wikipedia: " точки Соединения могут только связаться с каталогами на локальном томе; точки соединения к удаленным долям являются unsupported." –  Peter Mortensen 5 August 2009 в 14:41
  • 3
    % #!# you' право ре. Я думал, что это было похоже на команду монтирования, забыл, что у меня была эта проблема, когда я изучил его два года назад. вздох Извините... –  Bart Silverstrim 5 August 2009 в 14:55

Эй, вот для попытки...

Перейдите к этой странице, и поиск "позволяют путь UNC"..., который будет работать?

Существует больше фона здесь и здесь

0
ответ дан 28 November 2019 в 20:14

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

2
ответ дан 28 November 2019 в 20:14

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

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

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

1
ответ дан 28 November 2019 в 20:14

в соответствии с использованием @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
ответ дан 28 November 2019 в 20:14

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

Итак, попробуйте

\\someServer\someStuff\"

НЕ

\\someServer\\someStuff\"

0
ответ дан 9 January 2020 в 17:27

Вместо

cd \\server_name\folder_name

использования

pushd \\server_name\folder_name

..EXE path here..

popd

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

@echo off
echo "Email payment to prod payment sync program started"

pushd \\Server_name\it\0a. IT Projects\XYZ Project\Report Builds\Emailpayment to prod payment sync build

"\\Server_name\it\0a. IT Projects\XYZ Project\Report Builds\Emailpayment to prod payment sync build\xyz.exe" 
popd

pushd \\Server_name\it\0a. IT Projects\XYZ Project\Report Builds\Daily Invoice report build

"\\Server_name\it\0a. IT Projects\XYZ Project\Report Builds\Daily Invoice report build\XYZ1.exe" %-5

popd
echo "Daily invoice report program ended"
1
ответ дан 4 August 2020 в 08:29

Pushd работает, но...

Я использовал

pushd "%~dp0\"

в начале файлов cmd дольше, чем я могу вспомнить, всегда с дополнительным

popd 

в конце файла. До недавнего времени это работало, когда:

  1. Мой скрипт приостанавливался, и я использовал ^C для выхода.
  2. Я делал это примерно 24 раза за несколько дней тестирования на удаленном рабочем столе.

Затем я получил расплывчатую ошибку, если не полностью вводящую в заблуждение ошибку:

CMD does not support UNC paths as current directories.

Наконец, я подумал попробовать

NET USE

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

NET USE * /D

я снова был счастлив, зная, что не сошёл с ума.

Вот мой стандартный пролог cmd:

SETLOCAL EnableExtensions
rem pushd handles Windows dumbness when the command directory is a UNC
rem and we want to use it as the current directory. e.g. click launch a cmd file on the network.
pushd "%~dp0\"
2
ответ дан 27 October 2020 в 22:19

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

set NetworkFolder=\\server\folder
dir %NetworkFolder%\subfolder
0
ответ дан 23 June 2021 в 12:46

Теги

Похожие вопросы