Zobacz dostępne dyski z interfejsu wiersza polecenia systemu Windows?

98

Czy istnieje sposób na wyświetlenie listy dostępnych dysków z cmd.exe? (Inne niż ręczne pisanie

c:
d:
...

i sprawdzanie, które zwracają błędy)

Cristi Diaconescu
źródło

Odpowiedzi:

119
> wmic logicaldisk get caption

Caption
C:
D:
E:

jeśli prawdopodobnie najłatwiejszy. Nie potrzebuje uprawnień administracyjnych, nie zwraca więcej lub mniej niż jest to potrzebne itp.

Jeśli chcesz użyć go w skrypcie, a następnie owinąć go for /fz skip=1opcją:

for /f "skip=1 delims=" %%x in ('wmic logicaldisk get caption') do @echo.%%x
Joey
źródło
1
tylko dla użytkowników z uprawnieniami administratora
Carlos Campderrós 16.04.15
1
@ CarlosCampderrós: ​​działa dobrze dla mnie z ograniczonego konta użytkownika.
Joey,
1
Cytując ze strony support.microsoft.com/en-us/kb/290216 „Wmic.exe może być używany tylko przez lokalnych administratorów systemu, niezależnie od uprawnień do przestrzeni nazw WMI na komputerze lokalnym”, a to nie powiodło się na moim komputerze (maszyna wirtualna z winXP )
Carlos Campderrós,
4
To działało dobrze pod kontem nieadministracyjnym na Windows 8.1 tutaj. Pamiętaj, że artykuł z bazy wiedzy dotyczy tylko starszych systemów operacyjnych.
Joey,
1
@Joey, dlaczego captionzamiast wmic logicaldisk get name ?
Pacerier,
64

Jeśli jesteś w wierszu polecenia:

diskpart

następnie

wolumin listy

próbka wyjściowa:

  Objętość ### Ltr Etykieta Fs Typ Rozmiar Status Informacje
  ---------- --- ----------- ----- ---------- ------- ---- ----- --------
  Tom 0 E DVD-ROM 0 B Brak nośników
  Tom 1 System Rese Partycja NTFS 100 MB Zdrowy system
  Tom 2 C System NTFS Partycja 99 GB Zdrowy rozruch
  Tom 3 F Dane (lokalna partycja NTFS 365 GB Zdrowa

i w końcu

wyjście

aby wrócić do wiersza poleceń.

Mike Fitzpatrick
źródło
w przeciwieństwie do polecenia net use , wyświetla tylko lokalne dyski fizyczne. (tak myślę.) patrz diskpart na technet i diskpart na support.microsoft.com
quack quixote
3
diskpartpotrzebuje uprawnień administracyjnych. Jeśli chcesz tylko listę liter dysku, o co trochę trzeba prosić ...
Joey
„diskpart” nie jest rozpoznawany jako polecenie wewnętrzne ani zewnętrzne,
Karl Morrison
18

Dla kompletności istnieje jeszcze inny sposób:

fsutil fsinfo drives

który zwraca:

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

(Niezbyt przyjazny dla skryptów, ale może być przydatny dla ludzkiego oka)

Niektóre odniesienia . To powinno działać od win2k, ale tylko z kontem administratora.

(Dzięki @Cllos Campderrós za poprawę odpowiedzi)

saulius2
źródło
4
Należy zauważyć, że działa to tylko, jeśli korzystasz z konta administratora
Carlos Campderrós
@ CarlosCampderrós Nie sądzę, że to prawda. Mogę działać fsutilz ograniczonym użytkownikiem, a wynik jest znacznie szybszy niż rozkręcenie wmicsystemu. Na moim urządzeniu z tylko dyskami SSD z systemem Windows 10 v 1803, wmictrwa 100-200ms, a fsutilzajmuje ~ 20ms.
mrm
@mrm, niektóre wersje systemu Windows (lub wydanie lub kompilacja w10) prawdopodobnie zmniejszyły to ograniczenie. Przetestowałem to na wxp i w7pro i nie udało się to bez konta administratora (AFAIR).
saulius2
Popieram obserwację @ saulius2
Fr0zenFyr
7

Jeśli używasz programu PowerShell, możesz wpisać

get-psdrive -psprovider filesystem

Edytowane w odpowiedzi na komentarze, aby pokazać tylko systemy plików

Matthew Steeples
źródło
Zwróci to także inne zamontowane napędy inne niż systemy plików, takie jak Cert :, Alias: i Funkcja :. Ponadto zwróci inne katalogi systemu plików zamontowane jako PSDrive (takie jak Strona główna: dla% UserProfile% dla mnie).
Joey
To jedyna odpowiedź, która zadziałała dla mnie. Wszystkie inne rozwiązania wymagają dostępu administratora. (Przynajmniej na moim strasznie przestarzałym systemie Windows XP.)
Ajedi32,
5

Użyj wbudowanej funkcji doskey, aby utworzyć alias, który uruchamia komendę wmic z niezbędnymi atrybutami

doskey v=wmic logicaldisk get caption

Spowoduje to utworzenie aliasu „v”, które po każdym wpisaniu uruchomi podane polecenie i wyświetli wszystkie litery woluminów.

użytkownik216496
źródło
och miło, nie wiedziałem o doskey (jak Set-Alias ​​PowerShell)
BananaAcid
Bardzo niedoceniana odpowiedź, używanie CMD od lat i nigdy nie zdawałem sobie sprawy, że pseudonimy są z tym związane.
Hashim
5
wmic logicaldisk get volumename,name

W ten sposób można uzyskać (zapytać) wiele właściwości. Otrzymasz literę partycji / dysku i etykietę, którą podałeś dyskowi / partycji podczas formatowania dysku:

Name  VolumeName
C:    OS
D:    Data
E:    Programs

Aby uzyskać pomoc i wymienić wszystkie opcje uprawnień:

wmic logicaldisk /?

następnie

wmic logicaldisk get /?
Marcus O'Brien
źródło
Próbowałem zdobyć literę napędu CD / DVD ROM i najbliższą rzeczą, jaką mogłem znaleźć, aby to uzyskać wmic logicaldisk get name,filesystem. Normalne napędy będą oznaczone jako NTFSlub FAT32, a system plików CD / DVD ROM będzie pusty.
akinuri
Poprawka: jeśli dysk jest pusty, system plików jest pusty. Jeśli nie, np. Mam w tej chwili dysk Windows 10 i jest on wymieniony jako UDF.
akinuri