ForEach-Objectコマンドレットによってフォルダー内の全てのファイルに対してコマンドを実行している。

展開コマンド

Windows 98, Meの更新プログラム用。cab形式を展開できるアーカイブソフトを使う方法もある。

Get-ChildItem -File | ForEach-Object { Start-process $_.Name -ArgumentList ("/c /t:" + "D:\fix\" + $_.Name) }

Windows 2000, XPの更新プログラム用。中身は差分データに加工した上で圧縮されているため、通常のアーカイブソフトで展開すると完全なファイルにならない。管理者権限のPowerShellで実行しないと、各更新プログラムを実行するごとに管理者昇格画面が表示されてしまう。

Get-ChildItem -File | ForEach-Object { Start-process $_.Name -ArgumentList ("/quiet /extract:" + "D:\fix\" + $_.Name) }

ファイルのバージョン情報などをCSVに出力

Get-ChildItem *.* -Recurse | 
  Add-Member -MemberType ScriptProperty -Name ProductVersion -Value { 
  $this.VersionInfo.ProductVersion 
  } -PassThru |
  Add-Member -MemberType ScriptProperty -Name FileVersion -Value { 
  $this.VersionInfo.FileVersion
  } -PassThru |
  Add-Member -MemberType ScriptProperty -Name DirName -Value { 
  $this.DirectoryName
  } -PassThru |
  Select-Object -Property LastWriteTime, ProductVersion, FileVersion, Length, Name, DirName|
  export-csv -path result.csv

※コメント欄が表示されない場合はdisqusについてJavascriptが有効であることを確認して下さい。コメントはスパム防止フィルターによる承認制のため、投稿してもすぐに反映されない場合があります。

管理人 : Akamaki (akm)

は、PCとVTuberに夢中になっている電気技術者です。

私はレトロコンピューティングの愛好家ですが、そのようなリグはもう収集していません。

私の活動はトップページで見ることができます。読んでくれてありがとう!