Ruby では、こういう感じ。
Rubyから、powershell, clip コマンド(子プロセス)を呼び出す。
そして、このスクリプトをbat, vbs から呼び出すようにすれば、ダブルクリックでも起動できる

クリップボード内の複数行文字列の、各行の先頭・末尾から、
連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard` # クリップボードから取得
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 空白類を除去

IO.popen( 'clip', 'w:cp932' ) do | clip |
clip.print( ary.join "\n" ) # クリップボードへ書き戻す
end