Dòng lệnh tiện ích / công cụ Windows để di chuyển clipboard vào tập tin


3

Tôi đã thấy một công cụ tương tự CLIP ở đây Lệnh Clip nhưng nó hoạt động vào clipboard không theo hướng khác.

Tôi đã thấy các tài liệu tham khảo để "dán" nhưng điều này dường như không phải là một phần của windows. Tôi cần tìm một giải pháp hoạt động với môi trường w7 w8 w10 tiêu chuẩn.

Clip được phân phối. Có ai có một công cụ làm việc từ clipboard đến tập tin?

EDIT Có vẻ như có thể thực hiện được với lệnh powershell
Chương trình C # này tôi vừa viết thực hiện những gì tôi sẽ làm với Powershell

class Clip2File
{
    [STAThread()]
    static void Main(string[] args)
    {
        var fileName = @"c:\demo.png";
        if (args.Length != 0){
            fileName = args[0];
        }
        if (!Clipboard.ContainsImage()) return;
        Image img = Clipboard.GetImage();
        img?.Save(fileName, ImageFormat.Png);
    }
}

Câu trả lời:


2

Windows cmd(nếu clipboard chứa dữ liệu văn bản):

Powershell -command Add-Type -AssemblyName System.Windows.Forms;[System.Windows.Forms.Clipboard]::GetText()

Ví dụ cho thấy lệnh trên thêm hai byte vào đầu ra ( CrLf):

==> >1049363a.txt echo first line

==> >>1049363a.txt echo 2nd line

==> clip<1049363a.txt

==> >1049363b.txt Powershell -command Add-Type -AssemblyName System.Windows.Forms;[System.W
indows.Forms.Clipboard]::GetText()

==> findstr /N "^" 1049363*.txt
1049363a.txt:1:first line
1049363a.txt:2:2nd line
1049363b.txt:1:first line
1049363b.txt:2:2nd line
1049363b.txt:3:

==> dir 1049363*.txt |find ".txt"
06.03.2016  17:24                22 1049363a.txt
06.03.2016  17:24                24 1049363b.txt

==>

Đọc thêm về các phương thức .NET Framework Clipboard Class .

Chỉnh sửa câu trả lời chủ đề mở rộng (lưu hình ảnh, xem Lớp ImageFormat ):

Add-Type -AssemblyName System.Windows.Forms  ### not necessary in PowerShell_ISE
if ($([System.Windows.Forms.Clipboard]::ContainsImage())) {
    $image = [System.Windows.Forms.Clipboard]::GetImage()
    $filename='d:\test\test.png'             ### edit to fit in your circumstances

    [System.Drawing.Bitmap]$image.Save($filename,
                    [System.Drawing.Imaging.ImageFormat]::Png)

    Write-Output "clipboard content saved as $filename"
} else {
    Write-Output "clipboard does not contains image data"
}

có vẻ hữu ích, chỉ là kiểm tra mã c # nếu (! Clipboard.ContainsImage ()) trở lại; Hình ảnh img = Clipboard.GetImage (); nhưng rất hữu ích để biết tôi có thể bắt đầu một quyền hạn để truy cập System.Windows.Forms.Clipboard] :: GetImage () Tôi sẽ kiểm tra điều này sớm
phil soady

Mã tập lệnh (phần sau -Command) dường như cần được trích dẫn để chạy theo Bash trên Ubuntu trên Windows.
Kenny Evitt

lớp Clipboard có sẵn từ .NET 1.1 nhưng bằng cách nào đó khi tôi thử Powershell -version 2 -command Add-Type -AssemblyName System.Windows.Forms;[System.Windows.Forms.Clipboard]::GetText()nó không chạy. Nó chỉ hoạt động với phiên bản 3 trở lên
phuclv

2

Có ai có công cụ làm việc từ clipboard đến tập tin không?

Điều này có thể được thực hiện bằng cách sử dụng một tệp bó chứa một số VBS nhúng.

GetClip.cmd:

@echo off
(
echo set objHTML = CreateObject("htmlfile"^)
echo ClipboardText = objHTML.ParentWindow.ClipboardData.GetData("text"^)
echo set objFSO = CreateObject("Scripting.FileSystemObject"^)   
echo set objFile = objFSO.OpenTextFile("clip.txt", 2, true^)
echo objFile.WriteLine ClipboardText
echo objFile.Close
) > "%temp%\clip.vbs"
"%temp%\clip.vbs"
endlocal

Ghi chú:

  • Nội dung Clipboard được ghi clip.txtvào thư mục hiện tại

Cách sử dụng ví dụ:

F:\test>type LoremIpsum.txt
Id pri magna tibique, vel et eruditi perpetua, numquam mandamus sed et.
Te nam diam veritus.
Ad est quaestio ocurreret, at vix modo prima officiis.
Modus principes definiebas mei et, atqui exerci ea sit.
An eirmod saperet dissentiunt sea, esse postea eleifend ex eam.

F:\test>clip<LoremIpsum.txt

F:\test>getclip

F:\test>type clip.txt
Id pri magna tibique, vel et eruditi perpetua, numquam mandamus sed et.
Te nam diam veritus.
Ad est quaestio ocurreret, at vix modo prima officiis.
Modus principes definiebas mei et, atqui exerci ea sit.
An eirmod saperet dissentiunt sea, esse postea eleifend ex eam.


F:\test>

Nguồn: Dựa vào mã Batch để dán từ clipboard vào tệp?


Tôi đã tìm kiếm giải pháp dữ liệu hình ảnh / nhị phân. Ai đó có thể tìm thấy các kịch bản hữu ích mặc dù. cảm ơn David
phil soady

2

Bạn có thể sử dụng lệnh ghép ngắn PowerShell Get-Clipboard(có bí danh là gcb).

Viết văn bản clipboard vào một tập tin:

gcb > myfile.txt

Nó không có tùy chọn để lấy hình ảnh từ bảng ghi tạm, -Format Imagenhưng dường như chỉ cung cấp dữ liệu meta, vì vậy nó có thể không hữu ích trong việc ghi hình ảnh vào tệp.


0

Cách tốt nhất mà tôi biết, là bằng cách sử dụng một công cụ độc lập có tên là WINCLIP .

Bạn có thể lấy nó từ đây: Outwit

Sử dụng:

  • Lưu clipboard vào tập tin: winclip -p file.txt
  • Sao chép thiết bị xuất chuẩn vào clipboard: winclip -cVí dụ:Sed 's/find/replace/' file | winclip -c
  • Bảng tạm ống để sed: winclip -p | Sed 's/find/replace/'
  • Sử dụng đầu ra winclip (clipboard) làm đối số của lệnh khác:

    FOR /F "tokens=* usebackq" %%G in ('winclip -p') Do (YOUR_Command %%G )

Bạn cũng có thể muốn có một cái nhìn tại getclip & putclip công cụ: CygUtils cho Windows nhưng winclip là tốt hơn trong quan điểm của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.