Переглянути доступні диски від Windows CLI?


98

Чи є спосіб перелічити доступні диски з cmd.exe? (Окрім введення тексту вручну

c:
d:
...

і бачити, які з них повертають помилки)

Відповіді:


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
лише для користувачів з правами адміністратора
Carlos Campderrós

1
@ CarlosCampderrós: ​​прекрасно працює для мене з обмеженого облікового запису користувача.
Joey

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

4
Тут він працював чудово під обліковим записом не адміністратора в Windows 8.1. Зауважте, що стаття KB стосується лише застарілих операційних систем.
Joey

1
@Joey, чому captionзамість wmic logicaldisk get name ?
Pacerier

64

Якщо ви знаходитесь у командному рядку:

дискпарт

тоді

обсяг списку

вихід вибірки:

  Том ### Ltr Label Fs Тип розміру Інформація про стан
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
  Том 0 E DVD-ROM 0 B Немає носія
  Том 1 Система Rese 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- wmicдисками, на яких працює Windows 10 v 1803, потрібно 100-200 мс, і fsutilзаймає ~ 20 мс.
мрм

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

Я друге спостереження від @ saulius2
Fr0zenFyr

7

Якщо ви використовуєте powershell, ви можете ввести його

get-psdrive -psprovider filesystem

Відредаговано у відповідь на коментарі, показуючи лише файлові системи


Це також поверне інші встановлені нефайлові системи, такі як Cert :, Alias: та Function :. Крім того, він поверне інші каталоги файлової системи, встановлені як PSDrive (наприклад, Home: для% UserProfile% для мене).
Joey

Це єдина відповідь, яка працювала на мене. Усі інші рішення вимагають доступу адміністратора. (Принаймні, на моїй жахливо застарілій системі Windows XP.)
Ajedi32

5

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

doskey v=wmic logicaldisk get caption

Це створить псевдонім "v", який щоразу, коли буде введено, буде виконувати дану команду та перелічувати всі літери томів.


о приємно, не знав про doskey (як Set-Alias ​​від
Powerhell

Відповідь з високою заниженою ціною, яка використовується CMD роками і ніколи не усвідомлювала псевдонімів, була предметом цього.
Хашим

5
wmic logicaldisk get volumename,name

Таким чином ви можете отримати (запитувати) кілька властивостей. Це дасть вам лист / розділ диска та мітку, яку ви дали диска / розділу, коли ви відформатували диск:

Name  VolumeName
C:    OS
D:    Data
E:    Programs

Для довідки та списку всіх варіантів дозволу:

wmic logicaldisk /?

тоді

wmic logicaldisk get /?

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

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