PowerShellでクリップボードの画像をデスクトップに保存する
目次
はじめに
PowerShell関連のメモ。
クリップボードの画像をデスクトップに保存する
PowerShellで以下のスクリプトを実行すると、クリップボードにコピーした画像をデスクトップに保存できます。
Add-Type -AssemblyName System.Windows.Forms
if ([Windows.Forms.Clipboard]::ContainsImage()) {
$image = [Windows.Forms.Clipboard]::GetImage()
$desktop = [Environment]::GetFolderPath("Desktop")
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$outputFilePath = Join-Path $desktop "clip_${timestamp}.png"
$image.Save($outputFilePath)
}
バッチファイルでクリップボードの画像をデスクトップに保存する
バッチファイルに修正すると、バッチ実行でクリップボードにコピーした画像をデスクトップに保存できるようになります。
@PowerShell -NoProfile -ExecutionPolicy Bypass "&([ScriptBlock]::Create((cat \"%~f0\" | ?{$_.ReadCount -gt 1}) -join \"`n\"))" %* & goto:eof
Add-Type -AssemblyName System.Windows.Forms
if ([Windows.Forms.Clipboard]::ContainsImage()) {
$image = [Windows.Forms.Clipboard]::GetImage()
$desktop = [Environment]::GetFolderPath("Desktop")
$timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
$outputFilePath = Join-Path $desktop "clip_${timestamp}.png"
$image.Save($outputFilePath)
}