列出excel单元中的硬盘驱动器

问题描述

| 我正在尝试创建一个脚本来制作PC的硬件清单,并将其导出到excel中。 我在列出硬盘驱动器时遇到一些问题。 假设一台PC有两部分,C为100 GB,E为200 GB。我想将驱动器以这种方式放入回车符的单个单元中。
C: 100 GB
E: 200 GB
如果我想创建一个excel文件,我可以做这样的事情
$a = New-Object -comobject Excel.Application
$a.Visible = $True
$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)
$c.Cells.Item(1,1) = \"A value in cell A1.\"
而且我知道我可以查询wmi列出硬盘驱动器:
gwmi win32_logicaldisk | ? {$_.drivetype -eq 3} | select deviceid,@{Label=\"Disk GB\"; Expression={[math]::truncate($_.Size / 1GB)}}
但我不知道如何获得所需的输出。提前致谢。     

解决方法

        http://www.java2s.com/Code/VBA-Excel-Access-Word/File-Path/GetDriveInformation.htm回答了您的问题     ,        这是如何运作的?
$a = New-Object -comobject Excel.Application
$a.Visible = $True
$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)
$label=gwmi win32_logicaldisk | select deviceid,@{Label=\"Disk GB\";  Expression={\"$([math]::truncate($_.Size / 1GB)) GB\"}} | ft -auto -HideTableHeaders | out-string
$c.Cells.Item(1,1) = $label
    ,        您可以遍历WMI查询返回的驱动器,并将deviceid和\“ Disk GB \”结果添加到字符串值。然后,您可以将结果字符串值写入Excel单元格。一种方法是这样的:
$a = New-Object -comobject Excel.Application
$a.Visible = $True
$b = $a.Workbooks.Add()
$c = $b.Worksheets.Item(1)
$outputstring = \"\"
foreach ($drive in $driveinfo) {
    $outputstring += \"$($drive.deviceid)  $($drive.\"Disk GB\") GB`n\"
}
$c.cells.item(1,1) = $outputstring
    

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...