PowerShellで画像ファイルをクリップボードにコピーする

バッチファイル

emf ファイルはうまくいきません

PowerShell -Command "Add-Type -AssemblyName System.Windows.Forms;Add-Type -AssemblyName System.Drawing;[Windows.Forms.Clipboard]::SetImage([System.Drawing.Image]::FromFile('C:\data\lang\eightban\eightban.png'));"

バッチファイルにドラッグアンドドロップしたりバッチファイルの引数を与えて実行します

        %~1         - すべての引用句 (") を削除して、%1 を展開します。
        %1これに変えても良いです   
PowerShell -Command "Add-Type -AssemblyName System.Windows.Forms;[Windows.Forms.Clipboard]::SetImage([System.Drawing.Image]::FromFile('%~1'));"

クリップボードにある画像データをファイルに保存する

形式を指定して保存することができます

PowerShell -Command "(Get-Clipboard -Format Image).Save('y:\Image-file.png');"
PowerShell -Command Add-Type -AssemblyName System.Windows.Forms;[Windows.Forms.Clipboard]::GetImage().Save('y:\png2jpg.jpg');
PowerShell -Command Add-Type -AssemblyName System.Windows.Forms;[Windows.Forms.Clipboard]::GetImage().Save('y:\png2jpg.jpg', [System.Drawing.Imaging.ImageFormat]::Jpeg);

bat,PowerShell ,windows

Posted by eightban