web-dev-qa-db-ja.com

Powershellのすべてのデバイス、パーティション、およびボリュームを一覧表示します

私は複数のボリュームを持っています(今日ではほぼ全員):Windowsでは、C:、D:などと指定されています。 Powershellで「ls/mnt /」を使用してUnixマシンでこれらをすべて一覧表示するにはどうすればよいですか?

37
wishi

すべてのファイルシステムドライブを取得するには、次のコマンドを使用できます。

gdr -PSProvider 'FileSystem'

gdrGet-PSDrive 。レジストリなどのすべての「仮想ドライブ」が含まれます。

63
bdukes

Get-Volume

取得します:DriveLetter、FileSystemLabel、FileSystem、DriveType、HealthStatus、SizeRemainingおよびSize

15

Windows Powershellの場合:

Get-PSDrive 
[System.IO.DriveInfo]::getdrives()
wmic diskdrive
wmic volume

また、ユーティリティdskwipe: http://smithii.com/dskwipe

dskwipe.exe -l
8
user1420526

まず、Unixではls /mntではなくmountを使用します:/mntには多くのものがマウントされていません。

とにかく、Powershellで引き続き動作するmountvol DOSコマンドがあり、Powershell固有のGet-PSDriveがあります。

4
ephemient

これはかなり古いですが、次の点に注意してください。

PS N:\> (measure-command {Get-WmiObject -Class Win32_LogicalDisk|select -property deviceid|%{$_.deviceid}|out-Host}).totalmilliseconds
...
928.7403
PS N:\> (measure-command {gdr -psprovider 'filesystem'|%{$_.name}|out-Host}).totalmilliseconds
...
169.474

フィルタリングプロパティなしで、私のテストシステムでは、4319.4196ミリ秒から1777.7237ミリ秒です。 PS-Driveオブジェクトを返す必要がない限り、WMIに固執します。

編集:勝者がいると思う:PS N:>(measure-command {[System.IO.DriveInfo] :: getdrives()|%{$ _。name} | out-Host})。to‌ talmilliseconds 110.9819

2
Yevgeniy

これは「powershell」固有ではありませんが、diskpartを使用してドライブとパーティションを簡単にリストでき、ボリュームをリストできます。

PS C:\Dev> diskpart

Microsoft DiskPart version 6.1.7601
Copyright (C) 1999-2008 Microsoft Corporation.
On computer: Box

DISKPART> list volume

Volume ###  Ltr  Label        Fs     Type        Size     Status     Info
----------  ---  -----------  -----  ----------  -------  ---------  --------
Volume 0     D                       DVD-ROM         0 B  No Media
Volume 1         C = System   NTFS   Partition    100 MB  Healthy    System
Volume 2     G   C = Box      NTFS   Partition    244 GB  Healthy    Boot
Volume 3     H   D = Data     NTFS   Partition    687 GB  Healthy
Volume 4     E   System Rese  NTFS   Partition    100 MB  Healthy
1
Eddie B

ドライブごとに複数のボリュームがあります(一部はドライブのサブディレクトリにマウントされています)。このコードは、マウントポイントとボリュームラベルのリストを示しています。もちろん、空き領域などを抽出することもできます。

gwmi win32_volume|where-object {$_.filesystem -match "ntfs"}|sort {$_.name} |foreach-object {
  echo "$(echo $_.name) [$(echo $_.label)]"
}
0
Patrick

コマンドを実行:

Get-PsDrive -PsProvider FileSystem

詳細については、以下を参照してください。

0
Mwiza