Windows sistemdeki sürücü harflerinin ve ilişkili etiketlerin listesini bir yarasa dosyası aracılığıyla nasıl edinebilirim?
Windows sistemdeki sürücü harflerinin ve ilişkili etiketlerin listesini bir yarasa dosyası aracılığıyla nasıl edinebilirim?
Yanıtlar:
Bu çoğunu alacak:
Net Use
Subst ile eşlenmiş herhangi bir sürücünüz varsa, aşağıdakileri de almanız gerekir:
Subst
Tamamlanması için, bunu Powershell'de böyle yaparsınız (eğer Windows 7'deysanız veya kurduysanız):
gwmi win32_LogicalDisk -filter DriveType=4
Komut isteminden veya bir toplu iş dosyasından WMI kullanarak aşağıdaki gibi yapabilirsiniz:
wmic logicaldisk get caption,providername,drivetype,volumename
Diskpart kullanmak için bir ara dosya oluşturmaya gerek yoktur. Deneyin:
echo list volume | diskpart
@echo off
cls
setlocal enabledelayedexpansion
set "_DRIVE.LETTERS.FREE=Z Y X W V U T S R Q P O N M L K J I H G F E D C B A "
for /f "skip=1 tokens=1,2 delims=: " %%a in ('wmic logicaldisk get deviceid^,volumename') do (
set "_DRIVE.LETTERS.USED=!_DRIVE.LETTERS.USED!%%a,%%b@"
set "_DRIVE.LETTERS.FREE=!_DRIVE.LETTERS.FREE:%%a =!"
)
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:~0,-2%
set _DRIVE.LETTERS.USED=%_DRIVE.LETTERS.USED:,@=, @%
set _DRIVE.LETTERS
Hızlı, esnek ve verimli. Biraz karmaşık olmasına rağmen.
Scott'tan ilham alındı
for %i in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do @%i: 2>nul && set/pz=%i <nul
ayrıca CD sürücü harfini gösterir. yönetici olmaya gerek yok.
mountvol
örnek çıktı
\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
*** NO MOUNTING POINT ***
\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
D:\
\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
C:\
\\?\Volume{11197e59-f977-11dd-afc6-111e6f6e6963}\
E:\
Herkes Eğer şanslı yeterli (benim durumumda, Vista Ultimate SP2 b6002) Vista kullanıyor ve gwmi ve wmic burada tam olarak çalışmıyor Burada verilen parçacıkları Ben çalışması için bunu yaptı.
Gwmi için çıktı almazsanız, DriveType'ı 3 olarak değiştirmeyi deneyin. Hala sorun yaşıyorsanız, -filter seçeneğini tamamen kaldırın ve çıktıyı analiz edin.
gwmi win32_LogicalDisk -filter DriveType=3
İçin wmic "Geçersiz GET İfade" alırsanız, o zaman koymayı deneyin olsun tırnak içinde ifade:
wmic logicaldisk get "caption,providername,drivetype,volumename"
Bu site daha basit bir çağrı setine sahiptir:
http://en.code-bude.net/2013/02/23/show-all-drives-in-command-prompt/
Yerel sürücüleri göster:
wmic mantıksaldisk cihaza ulaşın, volumename, tanım
Yalnızca belirli bir türdeki sürücüleri göstermek istiyorsanız, wmic komutu bir where cümlesi içerecek şekilde genişletilebilir.
wmic logicaldisk burada drivetype = 2 deviceid, volumename, açıklama alır
Türleri
0 => Bilinmeyen
1 => Kök Dizini Yok
2 => Çıkarılabilir Disk
3 => Yerel Disk
4 => Ağ Sürücüsü
5 => Kompakt Disk
6 => RAM Diski
@echo off
echo list volume > scriptdiskpart
diskpart/s scriptdiskpart
del scriptdiskpart
pause
for %a in (c: d: e: f: g: h: i: j: k: l: m: n: o: p: q: r: s: t: u: v: w: x: y: z:) do @vol %a 2>&1 | find "drive"
Diskpart yaklaşımı, diskleri takılı olmayan DVD sürücüleri rapor ediyor ve geçerli sürücü hacimlerine sahip SD kartlar rapor etmiyor
Yeterli cevabı olmasına rağmen, toplu iş dosyasında kullanmak istediğinizde bir tane eklemek istiyorum. "Geçersiz GET İfadesi" alırsanız, aşağıdaki gibi, '' dan önce bir ^ koyabilirsiniz.
for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,providername^,drivetype^,volumename 2^>NUL`) do echo %%i %%l
^
burada ne işi var?
@ECHO OFF
IF NOT EXIST A: GOTO B
:A
VOL A:
:B
IF NOT EXIST B: GOTO C
VOL B:
:C
IF NOT EXIST C: GOTO D
VOL C:
:D
IF NOT EXIST D: GOTO E
VOL D:
:E
IF NOT EXIST E: GOTO F
VOL E:
:F
IF NOT EXIST F: GOTO G
VOL F:
:G
IF NOT EXIST G: GOTO H
VOL G:
:H
IF NOT EXIST H: GOTO I
VOL H:
:I
IF NOT EXIST I: GOTO J
VOL I:
:J
IF NOT EXIST J: GOTO K
VOL J:
:K
IF NOT EXIST K: GOTO L
VOL K:
:L
IF NOT EXIST L: GOTO M
VOL L:
:M
IF NOT EXIST M: GOTO N
VOL M:
:N
IF NOT EXIST N: GOTO O
VOL N:
:O
IF NOT EXIST O: GOTO P
VOL O:
:P
IF NOT EXIST P: GOTO Q
VOL P:
:Q
IF NOT EXIST Q: GOTO R
VOL Q:
:R
IF NOT EXIST R: GOTO S
VOL R:
:S
IF NOT EXIST S: GOTO T
VOL S:
:T
IF NOT EXIST T: GOTO U
VOL T:
:U
IF NOT EXIST U: GOTO V
VOL U:
:V
IF NOT EXIST V: GOTO W
VOL V:
:W
IF NOT EXIST w: GOTO X
VOL W:
:X
IF NOT EXIST X: GOTO Y
VOL X:
:Y
IF NOT EXIST Y: GOTO Z
VOL Y:
:Z
IF NOT EXIST Z: GOTO END
VOL Z:
:END