如何使用Windows命令获取剪贴板内容?

Mat*_*att 37 windows clipboard cmd copy-paste

例如,我可以将文件复制到剪贴板,如下所示:

clip < file.txt
Run Code Online (Sandbox Code Playgroud)

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

我怎么能这样做:

???? > file.txt
Run Code Online (Sandbox Code Playgroud)

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

Ted*_*Ted 20

您可以使用paste.exe软件来粘贴文本,就像您描述的那样.

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

有了它你可以做:

paste | command
Run Code Online (Sandbox Code Playgroud)

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

要么

paste > filename
Run Code Online (Sandbox Code Playgroud)

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

  • 所以窗户没有任何东西? (7认同)
  • @HansPassant哦,我很生气.这不是原因!有多少只小猫因这些事故而死亡? (7认同)
  • 我在问题中提到的`clip.exe`随Windows一起提供. (4认同)
  • 不要指望奇迹,复制到剪贴板的图像或电子表格在文本文件中看起来不会那么好。这当然就是为什么没有一个标准的命令的原因,太多的事故。 (2认同)

Kpy*_*pym 19

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

Get-Clipboard > myfile.txt
Run Code Online (Sandbox Code Playgroud)

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

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

注意2:如果您真的想从中运行它cmd,可以powershell按以下示例进行调用powershell -command "Get-Clipboard | sort | Set-Clipboard".


Ada*_*ise 12

澄清@Kpym的答案:

powershell -command "Get-Clipboard" > file.txt
Run Code Online (Sandbox Code Playgroud)

这可以直接回答问题,而无需使用第三方工具。


小智 6

使用 doskey 宏定义功能,您可以执行以下操作:

doskey unclip=(powershell -command "Get-Clipboard") $*
Run Code Online (Sandbox Code Playgroud)

然后(例如)

dir/b | clip
unclip | sort/r
Run Code Online (Sandbox Code Playgroud)

  • 很适合在命令行上使用,但 Doskey 宏在批处理文件中不起作用。(不批判,仅供参考) (4认同)

Zim*_*mba 6

获取剪贴板的内容

从赢得 cmd:

powershell get-clipboard
Run Code Online (Sandbox Code Playgroud)

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

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

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


tro*_*ger 6

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

type con > filename.txt

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

  • 我懂了。这类似于 *nix 上的 `cat &gt; filename.txt`(然后粘贴并按 Ctrl+D)。时间太久了,不记得这是否适用于我原来的用例,但了解一下很有用。谢谢。 (2认同)

Ada*_*ise 5

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

choco install pasteboard
Run Code Online (Sandbox Code Playgroud)

那么命令很简单

pbpaste.exe > file.txt
Run Code Online (Sandbox Code Playgroud)

这适用于 cmd 和 wsl bash。