2014-10-28 8 views
0

Когда я выполняю «чистое использование» на моей командной строке, будет отображаться следующее:dot net command: net use - Как получить только алфавит и путь?

New connections will be remembered. 


Status  Local  Remote     Network 

------------------------------------------------------------------------------- 
OK   W:  \\hfs2\ATS\Novell Profile Backup\wk\one\two\three\four\five\six\seven\eight\nine\ten\eleven\twelve\thirteen 
               Microsoft Windows Network 
OK   X:  \\hfs2\ATS\Novell Profile Backup\wk\one\two\three\four\five\six\seven\eight\nine\ten 
               Microsoft Windows Network 
OK   Y:  \\hfs2\ATS\Novell Profile Backup 
               Microsoft Windows Network 
Unavailable Z:  \\hfs2\ATS    Microsoft Windows Network 
The command completed successfully. 

Как извлечь только получить диск алфавит и путь к файлу?

W:   
\\hfs2\ATS\Novell Profile Backup\wk\one\two\three\four\five\six\seven\eight\nine\ten\eleven\twelve\thirteen 

X:   
\\hfs2\ATS\Novell Profile Backup\wk\one\two\three\four\five\six\seven\eight\nine\ten 

Y:   
\\hfs2\ATS\Novell Profile Backup 

Z:   
\\hfs2\ATS 

ответ

1

EDIT

WMIC не требует прав администратора

Это требует права на то, что вы пытаетесь сделать. Вы не можете использовать его для администрирования, если не администратора.

Он также требует, чтобы администратор запускал его один раз в системе для его настройки.

От Помощь

Контроль учетных записей пользователей

Под UAC, счета в локальной группе Администраторы имеют два маркера доступа, один со стандартными пользовательскими привилегиями и один с правами администратора. Из-за фильтрации токенов доступа UAC сценарий обычно запускается под стандартным токеном пользователя, если только он не запускается «как администратор» в режиме повышенной привилегии. Не все скрипты требовали административных привилегий.

Сценарии не могут программно определить, работают ли они под стандартным токеном безопасности пользователя или токеном администратора. Сценарий может завершиться неудачей с ошибкой, запрещенной доступом. Если сценарий требует прав администратора, он должен запускаться в режиме повышенной. Доступ к пространствам имен WMI различается в зависимости от того, выполняется ли сценарий в повышенном режиме. Некоторые операции WMI, такие как получение данных или выполнение большинства методов, не требуют, чтобы учетная запись запускалась как администратор. Дополнительные сведения о разрешениях доступа по умолчанию см. В разделе Доступ к пространствам имен WMI и выполнение привилегированных операций.

Wmic При первом запуске Wmic после установки системы его необходимо запустить из командной строки с повышенными правами. Повышенный режим может не потребоваться для последующих исполнений Wmic, если для операций WMI не требуются права администратора.

Использование WMIC

wmic netuse get /format:list 

дает вам то, что доступно.

использовать что-то вроде

wmic netuse get remotepath, localname /format:list 

Чтобы поместить вывод в файл или в буфер обмена.

WMIC конкретный переключатель


/output или /append

например

wmic /node:"@%userprofile%\desktop\ComputerName.txt" /output:"%userprofile%\desktop\EventLog.html" /failfast:on PATH Win32_NTLogEvent where (EventIDentifier=42 or eventidentifier=1003) get /format:hform 

(/ узел представляет собой список IP-адресов и/или компьютерные имена компьютеров, чтобы запустить команда против, один IP-адрес или имя компьютера в строке)

Главное командование Перенаправление Prompt File


прилагая> имяфайла.рсш (или >> имяфайла.рсш для добавления в файл) в команду записывает вывод в файл, а не на экране.

wmic baseboard get product,Manufacturer,model,partnumber>MotherboardPartNum.txt 

Общие Командная строка Piping


прилагая | команда отправляет вывод в команду, а не на экране. Usefull команды, которые вывод направляется в

find or findstr (finds and filters text) 

sort (sorts the output) 

more (displays output to screen one page at a time) 

clip (puts output onto the clipboard) 

null (makes the data disappear for good - used for unwanted error messages) 


wmic baseboard get product,Manufacturer,model,partnumber|clip 

Объединение Трубы и перенаправлении


Таким образом, мы можем объединить их. Чтобы отправить список в файл на рабочем столе в обратном порядке сортировки (z до a), удаленные пустые строки.

wmic service get name,displayname /format:list|findstr .|sort /r>"%userprofile%\desktop\services_reversed.txt" 

Wmic Параметры вывода


Варианты вывода являются

/Format:list (a list - use notepad to view) 

/format:table (a table - use notepad to view) 

/format:hform (an html list - name the file's extension .html so IE will show) 

/format:htable (an html table - name the file's extension .html so IE will show) 

/format:csv (comma seperated variable - used for importing data into other programs such as excel) 

value, mof, rawxml также и xml.

Так,

sort /? 

find /? 

findstr /? 

more /? 

clip /? 
0

Есть некоторые проблемы в выходе net use

  • Status поля могут содержать информацию или быть пустым.

  • Поле Network может иметь несколько значений в зависимости от сетевого сопоставления. В моем случае у меня есть «Microsoft Windows Network» и «Netware Services». Таким образом, прямой подстановки нет.

  • Поле Network может быть в той же строке, что Remote поле или может быть на следующей строке, и как Remote поле может содержать пробелы, проверяя символ в предельном положении колонки не является надежным. Необходимо отложить проверку до следующей строки, чтобы определить, содержит ли она удаленные данные.

Таким образом, не один вкладыш обрабатывать его

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    set "drive=" 
    for /f "skip=6 tokens=1,* delims=\" %%a in ('net use') do (
     if defined drive (
      setlocal enabledelayedexpansion 
      if "%%b"=="" (
       echo !drive! !networkPath! 
      ) else (
       echo !drive! !networkPath:~0,26! 
      ) 
      endlocal 
      set "drive=" 
     ) 
     if not "%%b"=="" for /f "tokens=2" %%c in ("x%%a") do (
      set "drive=%%c" 
      set "networkPath=\\%%b" 
     ) 
    ) 

%%a цикл будет читать строки из net use и разделить их с помощью обратной косой черты в качестве разделителя. Это позволит нам определить, содержит ли строка сетевой путь (или нет) (если нет второго токена, строка не содержит обратную косую черту).

Поскольку мы задерживаем вывод информации в одной строке до следующего чтения (чтобы определить, продолжается ли удаленный путь в столбце Network), первая операция внутри цикла for заключается в том, чтобы определить, есть ли у нас ожидающие обработки данные из предыдущего цикла. Если есть данные, в зависимости от содержимого текущей строки мы выбираем, что выводить.

Как только данные будут эхом, если текущая строка содержит сетевую информацию, она сохраняется для последующего вывода.

Это быстрее решение, но есть два варианта, которые требуют меньше коды:

несколько net use команды

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    rem For each line in the output of the net use that includes a drive letter 
    for /f "delims=" %%a in ('net use^|find ":"') do (
     rem Retrieve the drive letter from the line 
     for /f "tokens=2" %%b in ("x%%a") do (
      rem Run a net use with the drive letter and output the drive and the path 
      for /f "tokens=1,* delims=\" %%c in ('net use %%b') do if not "%%d"=="" echo(%%b \\%%d 
     ) 
    ) 

Меньше кода, но как множественный net use команда выполняется, то медленнее

Использование WMIC

@echo off 
    setlocal enableextensions disabledelayedexpansion 

    for /f "tokens=2,3 delims=," %%a in (
     'wmic netuse get LocalName^, RemoteName^, Status /format:csv ^| find ":"' 
    ) do echo(%%a %%b 

Меньше кода, но в этом случае для запуска команды необходимо выполнить команду

 Смежные вопросы

  • Нет связанных вопросов^_^