代码之家  ›  专栏  ›  技术社区  ›  wishi

列出PowerShell中的所有设备、分区和卷

  •  33
  • wishi  · 技术社区  · 15 年前

    我有多个卷(现在几乎每个人都有):在Windows上,它们最终被指定为C:,D:等等。如何在带有PowerShell的“ls/mnt/”的Unix计算机上列出这些内容?

    8 回复  |  直到 7 年前
        1
  •  56
  •   bdukes Jon Skeet    12 年前

    要获取所有文件系统驱动器,可以使用以下命令:

    gdr -PSProvider 'FileSystem'
    

    gdr 是一个别名 Get-PSDrive 包括注册表的所有“虚拟驱动器”等。

        2
  •  10
  •   Vladimir Valchev    11 年前

    获取体积

    你会得到: 驱动器号、文件系统标签、文件系统、驱动器类型、运行状况、大小维护和大小

        3
  •  8
  •   Bill the Lizard    12 年前

    在Windows PowerShell上:

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

    此外,公用设施dskwipe: http://smithii.com/dskwipe

    dskwipe.exe -l
    
        4
  •  4
  •   ephemient    15 年前

    首先,在UNIX上使用 mount 不是 ls /mnt :很多东西没有装进去 /mnt .

    不管怎样,这里有 mountvol DOS命令,它继续在PowerShell中工作,并且有特定于PowerShell的 Get-PSDrive .

        5
  •  2
  •   Yevgeniy    7 年前

    这很古老,但我发现以下几点值得注意:

    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驱动器对象,否则我将使用wmi。

    编辑: 我认为我们有一个赢家: ps n:>(measure命令[system.io.driveinfo]::getdrives()%$name out host)。to talmillises 一百一十点九八一九

        6
  •  1
  •   Edward J Beckett    10 年前

    虽然这不是“PowerShell”特定的…您可以使用diskpart、list volume轻松列出驱动器和分区

    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
    
        7
  •  0
  •   Patrick    9 年前

    每个驱动器有多个卷(有些卷安装在驱动器的子目录上)。此代码显示装入点和卷标签的列表。显然,您还可以提取自由空间等:

    gwmi win32_volume|where-object {$_.filesystem -match "ntfs"}|sort {$_.name} |foreach-object {
      echo "$(echo $_.name) [$(echo $_.label)]"
    }
    
        8
  •  -1
  •   Community CDub    8 年前

    alt text

    PS功能:> 获取PSDRATH