Powershell 管道输入/输出
我想列出C:drive的文件。首先,我想从逻辑磁盘wmi对象获取设备ID,并列出它 下面的命令返回:Powershell 管道输入/输出,powershell,get-wmiobject,Powershell,Get Wmiobject,我想列出C:drive的文件。首先,我想从逻辑磁盘wmi对象获取设备ID,并列出它 下面的命令返回: Get-WmiObject -class Win32_logicaldisk DeviceID : C: DriveType : 3 ProviderName : FreeSpace : 940371968 Size : 125809192960 VolumeName : Get-WmiObject -class Win32_
Get-WmiObject -class Win32_logicaldisk
DeviceID : C:
DriveType : 3
ProviderName :
FreeSpace : 940371968
Size : 125809192960
VolumeName :
Get-WmiObject -class Win32_logicaldisk | select deviceid | Get-ChildItem -path {$_}
但是这个命令:
Get-WmiObject -class Win32_logicaldisk
DeviceID : C:
DriveType : 3
ProviderName :
FreeSpace : 940371968
Size : 125809192960
VolumeName :
Get-WmiObject -class Win32_logicaldisk | select deviceid | Get-ChildItem -path {$_}
给出以下错误:
Get ChildItem:找不到驱动器。名为的驱动器
“@{deviceid=C”不存在。第1行字符:60+Get-WMIOObject-class Win32_logicaldisk |选择设备ID | Get-ChildItem-path{…
+~~~~~~~~~~~~~~~~~~~~~~~
+CategoryInfo:ObjectNotFound:(@{deviceid=C:String)[Get ChildItem],DriveNotFoundException
+FullyQualifiedErrorId:DriveNotFound,Microsoft.PowerShell.Commands.GetChildItemCommand
Get ChildItem-path接受管道输入,我们如何解决此问题?您的
选择将返回一个名为DeviceID的属性的对象
使用-ExpandProperty
获取属性值,然后使用管道:
Get-WmiObject -class Win32_logicaldisk | select -expandproperty deviceid | Get-ChildItem -path {$_}
您的Select
正在返回一个名为DeviceID的属性的对象
使用-ExpandProperty
获取属性值,然后使用管道:
Get-WmiObject -class Win32_logicaldisk | select -expandproperty deviceid | Get-ChildItem -path {$_}
您也可以只选择返回的对象中的属性。在本例中,$\uu0.DeviceID
Get-WmiObject -class Win32_logicaldisk | select deviceid | Get-ChildItem -path {$_.DeviceID}
您也可以只选择返回的对象中的属性。在本例中,$\uu0.DeviceID
Get-WmiObject -class Win32_logicaldisk | select deviceid | Get-ChildItem -path {$_.DeviceID}