Category:
Computer
Cygwin シェル上で Windows のクリップボードの内容を取得する one-liner (+ ついでに CP932 から UTF-8 に変換)。かなり泥沼です (変数 SRC に代入しているのがポイント)。
CP932 外の特殊文字 (〜とか) が入っていると Write(t) がうまく動かない問題があって苦戦中...。
(追記: 2013/05/03)
以下で解決。
SRC='vbscript:Execute("t=clipboardData.getData(""text""):If Not IsNull(t) Then CreateObject(""Scripting.FileSystemObject"").GetStandardStream(1).Write(t):End If:Close()")' cmd /c mshta "%SRC%" | iconv -f cp932 -t utf-8
CP932 外の特殊文字 (〜とか) が入っていると Write(t) がうまく動かない問題があって苦戦中...。
(追記: 2013/05/03)
以下で解決。
SRC='vbscript:Execute("t=clipboardData.getData(""text""):If Not IsNull(t) Then CreateObject(""Scripting.FileSystemObject"").GetStandardStream(1,True).Write(t):End If:Close()")' cmd /c mshta "%SRC%" | iconv -f UTF-16LE -t UTF-8
Comments