列出Powershell中的所有设备,分区和卷
我有多个卷(如今几乎所有人):在Windows上,它们最终被指定为C:,D:等等。如何在具有Powershell的“ls/mnt /”的Unix机器上列出这些内容?列出Powershell中的所有设备,分区和卷
该死的你比我快:-) – streetparade 2009-11-02 21:04:58
请注意,这可以缩短为'Get-PSDrive -PSProvider' FileSystem''。我发现'| Where-Object'在很多情况下非常缓慢。 – 2013-01-01 22:07:39
@BaconBits我已经更新了我的答案,以反映你更好的选择。为了后代,我原本有'gdr |其中{$ _。Provider.Name -eq“FileSystem”}' – bdukes 2013-01-08 20:06:06
首先,在Unix上,您使用的是mount
,而不是ls /mnt
:很多东西没有安装在/mnt
中。
无论如何,还有mountvol
DOS命令,它继续在Powershell中工作,并且还有Powershell特定的Get-PSDrive
。
于Windows PowerShell:
Get-PSDrive
[System.IO.DriveInfo]::getdrives()
wmic diskdrive
wmic volume
而且效用dskwipe:http://smithii.com/dskwipe
dskwipe.exe -l
要标记,您还可以包含来自另一个答案'-PSProvider'的'FileSystem'标志以仅显示文件系统。 – Pred 2016-04-25 17:37:17
这是公关etty老了,但我发现以下值得注意:
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:>(措施命令{[System.IO.DriveInfo] :: getdrives()|%{$ _名称} |出主机}) 。要talmilliseconds 110.9819
获取批量
您将获得: 驱动器号,FileSystemLabel,文件系统的DriveType,HealthStatus,SizeRemaining和尺寸
Get-Volume似乎仅在Windows-Server 2012和Windows-Server 2016上可用。 – Bram 2016-11-28 09:46:36
Get-Volume为我运行PowerShell 5.1工作。也许他们在近几年/最近的更新中制定了这个标准。这个答案应该得到更多关注。 – 2017-06-17 03:59:42
虽然这不是具体的 '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
是否有可能使用powershell获得Volume ##? (对于Windows 7) – Chand 2017-08-04 16:00:45
我们每个驱动器有多个卷(某些安装在驱动器上的子目录中)。此代码显示挂载点和卷标的列表。很明显,你还可以提取空闲空间等:
gwmi win32_volume|where-object {$_.filesystem -match "ntfs"}|sort {$_.name} |foreach-object {
echo "$(echo $_.name) [$(echo $_.label)]"
}
GET-PSDrive来 将返回该 名称提供者根CurrentLocation ---- -------- ---- ---- ----------- A文件系统A:别名别名 C FileSystem C:\ scripts – streetparade 2009-11-02 21:02:48