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

Why does " dir *.* ~ "список файлов отличается от ожидаемого?
Как запустить copype.cmd для WinPE из пакетного файла
Флаг командной строки VLC Различный (сигнал) в архив
В 7-Zip командная строка побега
Eclipse не запускается из командной строки в Ubuntu 14.04
Использование a.bat-файл для извлечения строки из текстового файла в zip-папке
Как бежать.js файл из командной строки в windows?
Как скопировать файл печати на сетевой принтер?
Управление выполнением команд командной строки Windows в новом окне
Я хочу удалить определенное количество старых файлов в папке.УМК
как обойти ошибку времени выполнения VBScript для несоответствия типа; код: 800a000D
Elelevated локальный администратор Runas (или Start-Process-verb Runas) в профиле другого пользователя домена пользователя. Это возможно?
копировать список имен видеофайлов в текстовый файл вместе с их средой выполнения?
Пакетный вывод MD5 с соответствующим именем файла в текстовый файл
Как вызвать команду, используя определенный прокси-сервер?

Определите сопоставленный сетевой путь из окна cmd

у меня есть сетевой диск, сопоставленный с Z:

есть ли простая команда, чтобы узнать полный сетевой путь от cmd ?

т. е. если cmd показывает Z:ABC, Я, как команду на выход networkDriveMappedDirABC

net use хорошо, но я хотел бы получить полный путь к текущей рабочей директории (для быстрых копий).

5
задан Ofiris
источник

3 ответов

тип

net use

котором будут показаны все подключенные сетевые диски.

OK           Z:        \127.0.0.1\c$            Microsoft Windows Network
36
отвечен Darius 2013-05-27 11:20:46
источник

Это довольно старый вопрос, но.. Я искал точно такой же ответ, как я пытался создать пакет, который будет использовать UNC-путь к фактическому местоположению патча и делать некоторые вещи там (поэтому копируйте и вставляйте в другое место/папку и начинайте снова).

поскольку я не мог найти ответ, я сам нашел решение, но это не очень красиво и, конечно, не простая команда. Но это можно реализовать в пакетном режиме. На CMD это было бы:

FOR /F "tokens=2" %i IN ('NET USE ^| FIND "%CD:~0,2%"') DO (
      SET cNetworkPath=%i)
SET cNetworkPath=%cNetworkPath%%CD:~2%
ECHO %cNetworkPath%

вы можно скопировать четыре строки (лучше 4+пустая строка) и вставить их в CMD, чтобы получить имитационное Эхо пути, чтобы скопировать его.

в партии вы использовали бы его немного по-другому:

FOR /F "tokens=2" %%i IN ('NET USE ^| FIND "%~d0"') DO (
      bNetworkPath=%%i)
SET bCheckPath=!bOriginalPath!%~p0

переменная %CD% сохраняет текущий путь, и вам нужна только буква диска, поэтому вы ищете ее только с помощью команды FIND в NET USE. С помощью" tokens=2 " (или 3, в зависимости от выходных данных NET USE) переменная %i сохраняет путь к искомой букве диска. После этого второй сет команда добавляет папки, которые вы просматривали на сетевом диске с %CD:~2% (смещение 2, чтобы отрезать букву диска).

для пакета используются переменные %~d0 или %~p0. %0 хранит полный путь сам пакет (Эл. г. Z:\temp\test.bat; %~d0 = Z:; %~p0 = \temp\; d = диск, P = Путь, f = полный путь, n = имя) в противном случае это похоже на команду CMD.

1
отвечен Mykorrhiza 2015-12-18 14:22:08
источник

путь bat может отличаться от рабочего каталога. Поэтому нам нужен первый подход микоризы внутри летучей мыши. Для того чтобы приспособить ситуацию пропавшего состояния и также местных дисководов, нам нужны дополнительные проверки. Ниже приведен рабочий код:

SET cNetworkPath=    
FOR /F "tokens=2" %%i IN ('NET USE ^| FIND "%CD:~0,2%"') DO (
      SET cNetworkPath=%%i)
if "%cNetworkPath%" == "%CD:~0,2%" (
  FOR /F "tokens=3" %%i IN ('NET USE ^| FIND "%CD:~0,2%"') DO (
        SET cNetworkPath=%%i)
)
if "%cNetworkPath%" == "" set cNetworkPath=%CD:~0,2%
SET cNetworkPath=%cNetworkPath%%CD:~2%
ECHO %cNetworkPath%

приведенный выше код работает в большинстве случаев, но есть случаи, когда использование сети и найти не работают, следующее, Наконец, проверенный метод работы:

SET cNetworkPath=
for /f "tokens=2" %%i in ('wmic path win32_mappedlogicaldisk get deviceid^, providername ^| findstr "%CD:~0,2%"') do (set cNetworkPath=%%i)
echo %cNetworkPath%
0
отвечен Frank 2016-10-17 19:50:05
источник

Другие вопросы command-line network-drive windows windows-7