69

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

4

11 に答える 11

96

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

gdr -PSProvider 'FileSystem'

gdrGet-PSDriveは、レジストリなどのすべての「仮想ドライブ」を含むのエイリアスです。

于 2009-11-02T20:52:23.693 に答える
30
Get-Volume

以下を取得します: DriveLetter、FileSystemLabel、FileSystem、DriveType、HealthStatus、SizeRemaining、Size。

于 2013-10-24T20:22:50.373 に答える
14

Windows Powershell の場合:

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

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

dskwipe.exe -l
于 2012-07-23T09:19:02.633 に答える
5

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

とにかく、mountvolPowershell で引き続き動作する DOS コマンドと、Powershell 固有のGet-PSDrive.

于 2009-11-02T20:52:25.300 に答える
3

これは「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
于 2014-06-09T20:56:58.980 に答える
2

これはかなり古いですが、注目に値する次のことがわかりました。

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.4196ms から 1777.7237ms になります。PS-Drive オブジェクトを返す必要がない限り、私は WMI を使い続けます。

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

于 2013-02-26T18:20:14.897 に答える
0

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

gwmi win32_volume|where-object {$_.filesystem -match "ntfs"}|sort {$_.name} |foreach-object {
  echo "$(echo $_.name) [$(echo $_.label)]"
}
于 2015-03-26T13:37:50.340 に答える
0

az vm repairMicrosoft には、スクリプトの一部としてこれを行う方法があります(参照: Azure 仮想マシンの修復コマンドを使用して Windows VM を修復する)。

MIT ライセンスの下で利用できます: https://github.com/Azure/repair-script-library/blob/51e60cf70bba38316394089cee8e24a9b1f22e5f/src/windows/common/helpers/Get-Disk-Partitions.ps1

于 2021-08-18T04:17:19.723 に答える