1

C:ドライブのファイルを一覧表示したい。まず、論理ディスクの wmi オブジェクトからデバイス ID を取得して一覧表示します。

以下のコマンドは次を返します。

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-WmiObject -class Win32_logicaldisk | デバイス ID を選択 | Get-ChildItem -path { ...
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (@{deviceid=C:String) [Get-ChildItem] 、DriveNotFoundException
+ FullyQualifiedErrorId : DriveNotFound、Microsoft.PowerShell.Commands.GetChildItemCommand

Get-ChildItem -path はパイプライン入力を受け入れますが、これをどのように解決できますか?

4

2 に答える 2

3

DeviceIDSelectという名前のプロパティを持つオブジェクトを返しています。

を使用-ExpandPropertyしてプロパティ値を取得し、それをパイプします。

Get-WmiObject -class Win32_logicaldisk | select -expandproperty deviceid | Get-ChildItem -path {$_}
于 2016-04-04T22:17:33.210 に答える
2

返されるオブジェクトのプロパティを選択することもできます。この場合、$_.DeviceID

Get-WmiObject -class Win32_logicaldisk | select deviceid | Get-ChildItem -path {$_.DeviceID}
于 2016-04-05T06:22:55.350 に答える