Видите доступные диски из Windows CLI?


Ответы:


119
> wmic logicaldisk get caption

Caption
C:
D:
E:

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

Если вы хотите использовать его в сценарии, оберните его for /fс помощью skip=1опции:

for /f "skip=1 delims=" %%x in ('wmic logicaldisk get caption') do @echo.%%x

1
только для пользователей с правами администратора
Карлос Кампдеррос

1
@ CarlosCampderrós: ​​отлично работает для меня с ограниченной учетной записью пользователя.
Джои

1
Цитата из support.microsoft.com/en-us/kb/290216 «Wmic.exe может использоваться только локальными системными администраторами независимо от разрешений пространства имен WMI на локальном компьютере», и на моем компьютере произошел сбой (виртуальная машина с winXP )
Карлос Кампдеррос

4
Он отлично работал под учетной записью без прав администратора в Windows 8.1 здесь. Обратите внимание, что статья KB относится только к устаревшим операционным системам.
Джои

1
@ Джой, почему captionвместо wmic logicaldisk get name ?
Pacerier

64

Если вы в командной строке:

DiskPart

тогда

объем списка

образец вывода:

  Том ### Ltr Метка Fs Тип Размер Информация о статусе
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
  Том 0 E DVD-ROM 0 B Нет носителя
  Том 1 Восстановление системы NTFS, раздел 100 МБ, исправная система
  Том 2 C Системный раздел NTFS 99 ГБ Здоровая загрузка
  Том 3 F Данные (локальный раздел NTFS 365 ГБ Здоровый

и наконец

Выход

вернуться в командную строку.


в отличие от команды net use , здесь будут перечислены только локальные физические диски. (я думаю.) см. diskpart в technet и diskpart в support.microsoft.com
кихот-кихот

3
diskpartнужны административные привилегии. Если вы просто хотите получить список букв дисков, о которых стоит спросить ...
Джои,

«diskpart» не распознается как внутренняя или внешняя команда,
Карл Моррисон

18

Для полноты картины есть еще один способ:

fsutil fsinfo drives

который возвращает:

Drives: C:\ D:\ E:\ F:\

(Не очень удобный для сценариев вывод, но он может быть полезен для человеческого глаза)

Некоторая ссылка . Это должно работать с win2k, но только с учетной записью администратора.

(Спасибо @Carlos Campderrós за улучшение ответа)


4
Следует отметить, что это работает, только если вы используете учетную запись администратора
Carlos Campderrós

@ CarlosCampderrós Я не думаю, что это правильно. Я могу работать fsutilс ограниченным пользователем, и результат намного быстрее, чем раскручивание wmicсистемы. На моей коробке только SSD под управлением Windows 10 v 1803, wmicзанимает 100-200 fsutilмс и ~ 20 мс.
mrm

@mrm, некоторые версии Windows (или выпуска, или сборки w10), вероятно, утратили это ограничение. Я проверил это на wxp и w7pro, и это не удалось без учетной записи администратора (AFAIR).
saulius2

Я второе наблюдение @ saulius2
Fr0zenFyr

7

Если вы используете powershell, вы можете ввести

get-psdrive -psprovider filesystem

Отредактировано в ответ на комментарии, чтобы показать только файловые системы


Это также вернет другие подключенные диски, не являющиеся файловой системой, такие как Cert:, Alias: и Function :. Кроме того, он вернет другие каталоги файловой системы, смонтированные как PSDrive (например, Home: для% UserProfile% для меня).
Джои

Это единственный ответ, который работал для меня. Кажется, что все другие решения требуют доступа администратора. (По крайней мере, в моей ужасно устаревшей системе Windows XP.)
Ajedi32

5

Используйте встроенную функцию doskey для создания псевдонима, который запускает команду wmic с необходимыми атрибутами

doskey v=wmic logicaldisk get caption

Это создаст псевдонимы «v», которые при вводе будут запускать данную команду и перечислять все буквы тома.


о, хорошо, не знал о доски (как Set-Alias ​​в
PowerShell

Чрезвычайно недооцененный ответ, в течение многих лет он использовал CMD и никогда не осознавал, что с ним связаны псевдонимы.
Хашим

5
wmic logicaldisk get volumename,name

Вы можете получить (запросить) несколько свойств таким образом. Это даст вам букву раздела / диска и метку, которую вы дали диску / разделу при форматировании диска:

Name  VolumeName
C:    OS
D:    Data
E:    Programs

Для получения справки и для перечисления всех вариантов разрешений:

wmic logicaldisk /?

тогда

wmic logicaldisk get /?

Я пытался получить букву диска CD / DVD-ROM и самую близкую вещь, которую я мог найти, чтобы получить это wmic logicaldisk get name,filesystem. Обычные приводы будут перечислены как NTFSили FAT32, и файловая система CD / DVD ROM будет пуста.
akinuri

Исправление: если диск пуст, файловая система пуста. Если нет, то, например, в данный момент у меня есть диск Windows 10, и он указан как UDF.
akinuri
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.