Windows PowerShell で、オブジェクトの使い方を説明します。
Get-Item コマンドレットでファイルのオブジェクトを取得
そのオブジェクトの型を出力します。
$ret = Get-Item .\dummy.txt $ret.GetType()
Get-Item コマンドレットでファイルのオブジェクトを取得
そのオブジェクトをコピーします。
$ret = Get-Item .\dummy.txt $ret.CopyTo(".\dummy.bak")
Get-ChildItem コマンドレットの実行結果から直接オブジェクトの型を出力
(Get-ChildItem).GetType()
Get-ChildItem コマンドレットの実行結果を配列を扱うように抽出
$ret = Get-ChildItem Write-Host $ret[0] Write-Host $ret[1] Write-Host $ret[2]
Get-ChildItem コマンドレットの実行結果 (オブジェクト) を foreach ステートメントを使用して抽出
$ret = Get-ChildItem foreach ($o in $ret) {Write-Host $o}
Get-ChildItem コマンドレットの実行結果 (オブジェクト) を ForEach-Object コマンドレットを使用して抽出
$ret = Get-ChildItem $ret ForEach-Object {Write-Host $_}
Get-ChildItem コマンドレットの実行結果を % エイリアスを使用して抽出
$ret = Get-ChildItem $ret % {Write-Host $_}
Get-ChildItem コマンドレットの実行結果 (オブジェクト) からオブジェクトの型を抽出
そのオブジェクトを構成しているオブジェクトの型も抽出する。このことから $f は DirectoryInfo オブジェクトが集まったものであると推測されます。
$f = Get-ChildItem Write-Host $f.GetType() Write-Host $f[0].GetType()
オブジェクトの型を出力 (XML)
$x = [xml]"" Write-Host $x.GetType()
オブジェクトの型を出力 (正規表現型)
$reg = [regex]"[0-9]" Write-Host $reg.GetType()
プロセス情報をオブジェクトととして取得して出力
$p = Get-Process $p
プロセス情報をオブジェクトととして取得して出力
Get-Process Set-Variable p $p
オブジェクト変数を処理
$p = Get-Process foreach ($pp in $p) {$pp.MainModule}
オブジェクト変数を処理
foreach ($pp in Get-Process) {$pp.MainModule}