web-dev-qa-db-ja.com

ファイルの内容をクリップボードに読み込むにはどうすればよいですか?

内容を別のファイルまたはアプリケーションにコピーする必要があるファイルがあり、それを開くのではなく、すべてのテキストを選択してからコピーして貼り付け、効果的にcatできるかどうかを知りたいクリップボードにコンテンツ。これは可能ですか?

Windowsプログラムでも問題ありませんが、Linuxで機能するものも役立ちます。私はMacを使用していませんが、他の人には役立つかもしれません。これがコマンドラインで実行できる場合、ボーナスポイントがあります。

80
Jonathon Watney

あなたはMacについて尋ねなかったので: cat file | pbcopy (そして同様にpbpaste)。

62
Arjan

xclip (おそらくLinuxシステムのリポジトリで利用可能です)は、ほとんどのLinuxバージョンを含むX11システム、あるいはWindowsやMac OSXで動作するXでさえも動作します。 。

使用例:xclip -sel clip < ~/.ssh/id_rsa.pub

51
Justin Smith

Linuxでは、xselpbcopyを模倣するためにpbpasteを使用できます。

alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'

出典: Waldenさんはどこですか? "Linux用のpbcopyとpbpaste

33
pmac72

Linuxおよびxclipをサポートする他のシステムでは、次のようになります。

xclip -i -selection c file_to_copy_to_clipboard.txt

@JustinSmithがxclipにも言及しているのを見ましたが、例が欠けていたので、自分で調べなければなりませんでした。

もう1つの便利な方法は、クリップボードをファイルに貼り付けることです。

xclip -o -selection c > file_to_paste_to.txt

出典

13
Sam Stoelinga

このプログラムf2clipを使用してください。コマンドラインから実行してください。ファイルの内容をクリップボードにコピーします。私はさらなる処理のためにWebブラウザにテキストファイルをコピーするためにそれを使います。 http://smrz.xf.cz/f2clip.exe からダウンロードするか、このソースから自分で書いてください(それは醜いです):

 program f2clip;

 {$APPTYPE CONSOLE}

 uses
SysUtils,
clipbrd;

var i,r:integer;
    s:string;
 f:file;
 buf:array[0..1024*1024-1] of byte;

 data:string;
 d:pointer;
 begin
 try

 { TODO -oUser -cConsole Main : Insert code here }
    if (paramcount=0) then begin
    writeln('parameters: f2clip filename.txt');
end else begin
    write('parameter count: ');
  writeln(paramcount);  
    for i:=1 to paramcount do begin
    s:=paramstr(i);
    writeln('file: ',s);

    assignfile(f,s);
    reset(f,1);
    BlockRead(f,buf,1024*1024,r);
    writeln('size: ',r);
    buf[r]:=0;

    d:=@(buf[0]);
    data:=PAnsiChar(d);
Clipboard.AsText := data;
    close(f);
  end;

  end;

 except
   on E:Exception do
     Writeln(E.Classname, ': ', E.Message);
 end;
end.

ごめんなさい。

1
JanSmrz

テキスト形式のファイルの内容を標準出力(標準出力)にパイプ処理するには、ウィンドウ内の "cat"と同等のコマンド "type"を使用します。これは、使用しているターミナル/プロンプトエミュレータです(ウィンドウ内のCMD)。したがって、コマンドを次のように組み合わせることができます。

type myFile.txt > clip 

myFile.txtの内容がclipBoardバッファに転送されるようになりました(Linuxではなく、単なるバッファだと思います)。これはグローバルな価値でもあるため、OS全体で一度に1つの価値があります。これが「コピー」機能のためのもので、「ペースト」のためのものです。

  • どちらもあなたは既存のファイルにCLIPの値を通常のもののように追加したいです:

    clip >> target.txt(またはあなたのターゲットファイル - そのターゲットファイル内の既存のものを削除せずにデータを追加します)とタイプします。

  • または、CLIPの値を使って新しいファイルを追加/作成します。

    「clip> target.txt」と入力します(またはターゲットファイル - データを追加するか、OVERWRITEはそのターゲットファイル内の既存のファイルを削除することを意味します)。

0