[tips]Windowsにコマンドラインからペーストできるツールをつくる

Mac OSXにはコマンドラインからクリップボードに貼りつけられたテキストを出力するためのpbpasteコマンドがあります。

一方、Windowsにはコピーを行うための「clip.exe」は存在していますがペーストするコマンドはありません。

そこで、「.Net Framework」を使って簡単につくってみましょう。


準備するもの

必要なものは以下のとおりです。

  • コマンドプロンプト
  • コンパイラ
  • メモ帳

コマンドプロンプトは「ファイル名を指定して実行」から「cmd」と入力して「OK」をクリックすれば起動します。

メモ帳はメモ帳ですね。


もうひとつ、コンパイラですがWindows7以降では標準で「.Net Framework」のコンパイラがインストールされています。

使えるようにするために環境変数PATHへ設定すれば使えるようになります。


コンパイラのある場所

Windows10では以下の場所にあると思います。

32bit版であれば

C:\Windows\Microsoft.NET\Framework\v4.0.30319

64bit版であれば

C:\Windows\Microsoft.NET\Framework64\v4.0.30319


環境変数PATHへ設定するには次のようにします。

set PATH=C:\Windows\Microsoft.NET\Framework\v4.0.30319;%PATH%

これで上記のコマンドを実行したあとはコマンドプロンプトを終了するまでコンパイラを利用することができます。


ツールを書こう

ツールはC#というプログラミング言語で書いていきます。

以下へ例を書いておきますので参考にしてください。

using System;
using System.Windows.Forms;
namespace com.nalulabo.clipboard {
  public class PbPaste {
    [STAThread]

    public static void Main(String[] args) {

      Console.Write(RecvClipboard());

    }

    private static string RecvClipboard() {

      if(Clipboard.ContainsText()){

        return Clipboard.GetText();

      } else {

        return "";

      }

    }

  }

}

あとはこれを「paste.cs」というファイル名にして保存します。


コンパイルしよう

さきほどの環境設定PATHの設定がうまくいっているのであれば以下のコマンドを実行すれば「paste.exe」が作成されます。

csc /target:exe /out:paste.exe paste.cs


使い方

たとえば、「dir」コマンドでフォルダ内のファイルとフォルダの一覧を表示したものをコピーして貼り付けるとしましょう。

dir | clip

これでクリップボードにコピーされているはずです。

次に、さきほどコンパイルしたツールを利用してコピーされた内容を出力しましょう。

paste

うまくdirの結果が表示されたでしょうか?


もんが(なるーらぼ)

個人でプログラミングの学習サイト「なるーらぼ」を運営しています。
https://nalu-labo.amebaownd.com
PowerShell入門の電子書籍2冊も出版しています。
http://www.amazon.co.jp/dp/B017LJOCJ2

なるーらぼ

忙しい非プログラマに贈るプログラミング学習サイトです。 3分動画を使ったPowerShellや要件定義の入門講座、パソコン活用のtipsを公開しています

0コメント

  • 1000 / 1000