Bagaimana saya bisa memuat konten file ke clipboard?

81

Saya memiliki file di mana saya perlu menyalin konten mereka ke file lain atau ke dalam aplikasi dan daripada membukanya, pilih semua teks lalu salin dan tempel. Saya ingin tahu apakah saya dapat secara efektif catisi file ke clipboard. Apakah ini mungkin?

Program Windows akan baik-baik saja tetapi sesuatu yang berfungsi di Linux akan berguna juga. Saya tidak menggunakan Mac tetapi mungkin bermanfaat bagi orang lain. Poin bonus jika ini dapat dilakukan di baris perintah.

Jonathon Watney
sumber
1
Aha, saya tahu itu ditanyakan sebelumnya, untuk Windows: "Bagaimana menyalurkan teks dari baris perintah ke clipboard" di superuser.com/questions/97762/... Mungkin membiarkan ini terbuka untuk Linux?
Arjan
1
Pinggiran kota. Sepertinya saya bisa menggunakan clip.exe untuk ini. Akan tetap menyukai versi baris non-perintah. Mungkin melalui menu konteks Windows Explorer?
Jonathon Watney

Jawaban:

62

Karena Anda tidak bertanya tentang Mac: cat file | pbcopy(dan juga pbpaste) untuk itu.

Arjan
sumber
Menisik. Saya tidak menggunakan Mac. Akan disimpan untuk referensi di masa mendatang. ;)
Jonathon Watney
itu bekerja di Mac juga;)
HMagdy
51

xclip (mungkin tersedia di repo sistem Linux Anda) akan berfungsi untuk sistem X11, termasuk sebagian besar versi Linux, atau bahkan X dijalankan di bawah windows atau Mac OSX.

Contoh penggunaan: xclip -sel clip < ~/.ssh/id_rsa.pub

Justin Smith
sumber
23
Contoh penggunaan:xclip -sel clip < ~/.ssh/id_rsa.pub
wim
13

Di Linux dan kemungkinan sistem lain yang mendukung xclip:

xclip -i -selection c file_to_copy_to_clipboard.txt

Saya melihat @JustinSmith juga menyebutkan xcliptetapi tidak ada contoh, jadi saya harus mencarinya sendiri.

Satu lagi yang berguna: tempel clipboard Anda ke file.

xclip -o -selection c > file_to_paste_to.txt

Sumber

Sam Stoelinga
sumber
2

gunakan perintah "ketik" sebagai setara dengan "cat" di windows untuk menyalurkan konten file dalam format teks ke stdout (output standar) untuk itu adalah emulator Terminal / prompt yang Anda gunakan (CMD di windows). Jadi, Anda dapat menggabungkan perintah menjadi sesuatu seperti ini:

type myFile.txt > clip 

sekarang konten myFile.txt ditransfer ke buffer clipBoard (saya pikir itu hanya buffer karena ini bukan linux). Ini juga merupakan nilai global, jadi satu nilai disimpan pada satu waktu lebar OS. Jadi itu untuk fitur "copy", sekarang untuk "paste":

  • Entah Anda ingin menambahkan ke file yang ada nilai-nilai CLIP seperti hal-hal biasa:

    ketik clip >> target.txt (atau file target Anda - akan menambahkan data tanpa menghapus yang ada di dalam file target itu)

  • Atau, Anda ingin menambah / membuat file baru dengan nilai-nilai CLIP seperti:

    ketik clip> target.txt (atau file target Anda - akan menambah data atau OVERWRITE berarti menghapus yang sudah ada di dalam file target itu)

Hichem Al Abbessi
sumber
1

Gunakan f2clip program ini. Jalankan dari baris perintah. Ini menyalin isi file ke clipboard. Saya menggunakannya untuk menyalin file teks ke browser web untuk diproses lebih lanjut. Unduh dari http://smrz.xf.cz/f2clip.exe atau tulis sendiri dari sumber ini (jelek):

 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.

Maaf.

JanSmrz
sumber
1
+1. Saya menghargai upaya ini meskipun saya pikir xclip adalah solusi yang lebih baik.
0xc0de