Output-Image コマンド・レッド

使用方法

01.  [Print Screen]キーを押下します。
 画面を画像としてクリップボードへコピーします。
02.
 以下のようにコマンドを実行します。
PS C:\Users\Logical> Output-Image D:\tmp
 実行すると D:\tmp\00001.png ファイルとして出力されます。
 以上です。

ダウンロード

ファイル名 ファイルサイズ MD5
Output-Image-v010001.zip 1205 バイト(1.18 KiB) 6e04e6c87cb3db83150422f16086a3bc

ソース

Param( [String] $Path, [String] $Prefix ) $STRPATH_IMAGE_FMT = '{0}{1}{2:D5}{3}' $STRPATH_EXT = '.png' Function Get-Image-Path { Param( $sPath, $sPrefix, $sExt, $nIndex ) # 戻り値 $STRPATH_IMAGE_FMT -f $sPath, $sPrefix, $nIndex, $sExt } Function Next-Image-Number { Param( $sPath, $sPrefix, $sExt ) $nIndex = 0 for( ;; ) { $nIndex ++ $sFile = $STRPATH_IMAGE_FMT -f $sPath, $sPrefix, $nIndex, $sExt $bExist = Test-Path $sFile if( $bExist -eq $False ) { break } if( $nIndex -ge 10000 ) { return -1 } } # 戻り値 $nIndex } # クリップボードへ画像がコピーされている事を確認する。 # コピーされていなければ終了する。 try { $o = Get-Clipboard -Format Image } catch { Write-Output 'pwsh.exe ではクリップボードへの画像コピーに対応していません。' return } if( $o -eq $Null ) { Write-Output 'クリップボードに画像がコピーされていません。' return } # 出力先フォルダの存在を確認する。 # 存在しなければ終了する。 $bExist = Test-Path $Path if( $bExist -eq $False ) { Write-Output '指定された出力先フォルダが存在しません。' return } # 出力先フォルダ・パスの末尾にセパレータがあるか確認する。 # セパレータがなければ付ける。 if( $Path.EndsWith('\') -eq $False ) { $Path += '\' } # 出力ファイル名(番号)を確認する。 # 戻り値が 0 未満は終了する。 $nNextIndex = Next-Image-Number $Path $Prefix $STRPATH_EXT if( $nNextIndex -le 0 ) { Write-Output '既に 10,000 の画像を出力しています。' return } # 出力ファイル・パスを作成する。 $sFullPath = Get-Image-Path $Path $Prefix $STRPATH_EXT $nNextIndex # クリップボードへコピーした画像をファイルへ出力する。 $o.Save( $sFullPath, [System.Drawing.Imaging.ImageFormat]::Png )