64

例如,我可以像这样将文件复制到剪贴板:

clip < file.txt

(现在 的内容file.txt在剪贴板中。)

我该怎么做相反的事情:

???? > file.txt

这样剪贴板的内容将在file.txt?

4

15 回答 15

44

如果您接受使用PowerShell(而不是cmd),您可以完全按照您的要求使用Get-Clipboard

Get-Clipboard > myfile.txt

这种方法的优点是您无需安装任何东西。

注意:代替clip您可以使用具有更多选项的 Set-Clipboard 。

注意 2:如果你真的想从 运行它cmd,你可以powershell像下面的例子那样调用powershell -command "Get-Clipboard | sort | Set-Clipboard"

于 2018-12-01T14:37:29.903 回答
29

您可以使用 paste.exe 软件来粘贴您所描述的文本。

http://www.c3scripts.com/tutorials/msdos/paste.html

有了它,您可以:

paste | command

将 windows 剪贴板的内容粘贴到指定命令提示符的输入中

或者

paste > filename

将剪贴板内容粘贴到指定文件。

于 2013-07-23T20:00:24.377 回答
25

澄清@Kpym的答案:

powershell -command "Get-Clipboard" > file.txt

这直接回答了问题,而无需使用 3rd 方工具。

于 2019-02-27T16:49:22.850 回答
8

获取剪贴板的内容

从赢cmd:

powershell get-clipboard

或(通过来自 HTML 解析器的临时文件)在 cmd 上:

echo x = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text") > temp.vbs
echo WScript.Echo x >> temp.vbs
cscript //nologo temp.vbs

输出可能被重定向到文件。

于 2020-05-31T18:57:51.023 回答
6

使用 doskey 宏定义功能,您可以:

doskey unclip=(powershell -command "Get-Clipboard") $*

然后(例如)

dir/b | clip
unclip | sort/r
于 2019-05-06T19:02:07.387 回答
4

我在此页面上有一对实用程序(在 Clip 命令是 Windows 的一部分之前):

http://www.clipboardextender.com/general-clipboard-use/command-window-output-to-clipboard-in-vista

那里有两个实用程序,Clip2DOS 和 DOS2Clip。你想要 Clip2DOS:

Clip2DOS 版权所有 2006 Thornsoft Development 将剪贴板文本(1024 字节)转储到标准输出。
用法:Clip2Dos.exe > out.txt 结果:文本在文件中。限制:1024 字节。许可证:免费,就像免费啤酒一样! http://www.thornsoft.com/dist/techsupport/dos2clip.zip

包括德尔福源!

嘿,这里是 (Clip2DOS.dpr) :

{Clip2DOS - copyright 2005 Thornsoft Development, Inc.  All rights reserved.}
program Clip2Dos;

{$APPTYPE CONSOLE}

uses
  Clipbrd,
  ExceptionLog,
  SysUtils;

var
   p : Array[0..1024] of Char;
begin
  try
    WriteLn('Clip2DOS Copyright 2006 Thornsoft Development');
    Clipboard.GetTextBuf(p,1024);
    WriteLn(p);
  except
    //Handle error condition
    on E: Exception do
            begin
              beep;
              Writeln(SysUtils.format('Clip2DOS - Error: %s',[E.Message]));
              ExitCode := 1;    //Set ExitCode <> 0 to flag error condition (by convention)
            end;
  end
end.
于 2013-07-24T13:26:16.523 回答
3

粘贴板是另一种选择。它也可以从 WSL 工作。首先,通过 choco 安装:

choco install pasteboard

那么命令很简单

pbpaste.exe > file.txt

这适用于 cmd 和 wsl bash。

于 2020-07-07T21:54:15.237 回答
2

There are third party clip commands that work bidirectionally.

Here's one:

    CLIP - Copy the specified text file to the clip board
    Copyright (c) 1998,99 by Dave Navarro, Jr. (dave@basicguru.com)
于 2013-07-24T02:06:11.413 回答
2

嗯,从一百万年前,我们做了这样的事情:

type con > filename.txt

...然后您在等待提示符中执行粘贴操作(Ctrl-v,单击鼠标中键,或从菜单中选择编辑->粘贴)。这将捕获标准输入缓冲区(控制台设备,名为“con”),当收到文件结尾时,它将内容写入文件。因此,在粘贴之后,键入“Ctrl-z”以生成 EOF,然后键入命令终止,并且粘贴缓冲区(剪贴板)的内容被捕获在“filename.txt”中。

于 2021-05-27T17:03:32.117 回答
0

您可以使用cbecho,这是我用纯 C 语言编写的程序。它将任何剪贴板文本发送到 stdout,您可以从那里将其通过管道传输到其他程序。

于 2021-05-09T19:53:39.993 回答
0

这是 Dave Navarro 的 CLIP 程序,在@foxidrive 的回答中提到。这里的一篇文章中提到过:copying-from-clipboard-to-xywrite

此页面上有下载链接以及许多其他资源:http: //www.lexitec.fi/xywrite/utility.html

这是下载的直接链接:“Dave Navarro, Jr. 下载Clip.exe从剪贴板复制和复制到剪贴板。”

于 2015-08-29T02:54:15.553 回答
0

It may be possible with vbs:

Option Explicit
 
' Gets clipboard's contents as pure text and saves it or open it

Dim filePath : filePath = "clipboard.txt"

' Use the HTML parser to have access to the clipboard and get text content
Dim text : text = CreateObject("htmlfile").ParentWindow.ClipboardData.GetData("text")

' to open
If Not IsNull(text) then
Dim WshShell, somestring, txFldr2Open
Set WshShell = WScript.CreateObject("WScript.Shell")

txFldr2Open = "C:\Users"
txFldr2Open = text

somestring = "EXPLORER.exe /e," & txFldr2Open ', /select
WshShell.run somestring
Set WshShell = Nothing
else 
msgbox("Empty")

end if



' Create the file and write on it
msgbox(text)
Dim fileObj : Set fileObj = CreateObject("Scripting.FileSystemObject").CreateTextFile(filePath)
fileObj.Write(text)
fileObj.Close
于 2021-02-24T07:51:15.547 回答
-3

我不确定当时是否不支持此命令,但它确实有效

clip > file.txt
于 2020-01-05T16:43:23.113 回答
-4

我知道我真的迟到了,但你可以写:

type file.txt | clip

所以剪贴板的内容就是file.txt的内容

于 2018-11-17T03:58:32.697 回答
-9

这个肮脏的把戏满足了我的需要,它随 Windows 一起提供!

notepad.exe file.txt

Ctrl+ V, Ctrl+ S, Alt+ F,X

于 2015-03-27T00:00:39.460 回答