PowerShell Tips(画像の切り抜き・フォルダ監視)

画像の切り抜きを行う
同じサイズの画像が多数あって、一定の場所から一定のサイズで画像を切り抜きたい場合の一括処理を想定。例えば、下の画像の赤枠部分を切り抜きたい場合の切り抜き処理部分のサンプル。 image_crop1
$SrcBmp = New-Object System.Drawing.Bitmap("C:\Users\xxxx\Desktop\src.png")
$Rect = New-Object System.Drawing.Rectangle(17, 89, 600, 234);
$DstBmp = $SrcBmp.Clone($Rect, $SrcBmp.PixelFormat)
$DstBmp.Save("C:\Users\xxxx\Desktop\dst.png", [System.Drawing.Imaging.ImageFormat]::Png)

$SrcBmp.Dispose()
$DstBmp.Dispose()
フォルダを監視する
PowerShellでフォルダを監視して、動きがあったらコマンドを実行するサンプル。
$Watcher = New-Object System.IO.FileSystemWatcher "C:\Users\Public\Desktop"

While ($True) {
  $Result = $Watcher.WaitForChanged([System.IO.WatcherChangeTypes]::All, 1000)
  If ($Result.TimedOut -eq $False) {
    $Result
  }
}
powershell_watcher
実行するとこんな感じ。
    この記事で書かれている製品やソフトについて
  • Windows10 Pro 64ビット
  • PowerShell 5.1.14393.206