例如,我可以像这样将文件复制到剪贴板:
clip < file.txt
(现在 的内容file.txt
在剪贴板中。)
我该怎么做相反的事情:
???? > file.txt
这样剪贴板的内容将在file.txt
?
例如,我可以像这样将文件复制到剪贴板:
clip < file.txt
(现在 的内容file.txt
在剪贴板中。)
我该怎么做相反的事情:
???? > file.txt
这样剪贴板的内容将在file.txt
?
如果您接受使用PowerShell
(而不是cmd
),您可以完全按照您的要求使用Get-Clipboard。
Get-Clipboard > myfile.txt
这种方法的优点是您无需安装任何东西。
注意:代替clip
您可以使用具有更多选项的 Set-Clipboard 。
注意 2:如果你真的想从 运行它cmd
,你可以powershell
像下面的例子那样调用powershell -command "Get-Clipboard | sort | Set-Clipboard"
。
您可以使用 paste.exe 软件来粘贴您所描述的文本。
http://www.c3scripts.com/tutorials/msdos/paste.html
有了它,您可以:
paste | command
将 windows 剪贴板的内容粘贴到指定命令提示符的输入中
或者
paste > filename
将剪贴板内容粘贴到指定文件。
澄清@Kpym的答案:
powershell -command "Get-Clipboard" > file.txt
这直接回答了问题,而无需使用 3rd 方工具。
获取剪贴板的内容
从赢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
输出可能被重定向到文件。
使用 doskey 宏定义功能,您可以:
doskey unclip=(powershell -command "Get-Clipboard") $*
然后(例如)
dir/b | clip
unclip | sort/r
我在此页面上有一对实用程序(在 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.
粘贴板是另一种选择。它也可以从 WSL 工作。首先,通过 choco 安装:
choco install pasteboard
那么命令很简单
pbpaste.exe > file.txt
这适用于 cmd 和 wsl bash。
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)
嗯,从一百万年前,我们做了这样的事情:
type con > filename.txt
...然后您在等待提示符中执行粘贴操作(Ctrl-v,单击鼠标中键,或从菜单中选择编辑->粘贴)。这将捕获标准输入缓冲区(控制台设备,名为“con”),当收到文件结尾时,它将内容写入文件。因此,在粘贴之后,键入“Ctrl-z”以生成 EOF,然后键入命令终止,并且粘贴缓冲区(剪贴板)的内容被捕获在“filename.txt”中。
您可以使用cbecho,这是我用纯 C 语言编写的程序。它将任何剪贴板文本发送到 stdout,您可以从那里将其通过管道传输到其他程序。
这是 Dave Navarro 的 CLIP 程序,在@foxidrive 的回答中提到。这里的一篇文章中提到过:copying-from-clipboard-to-xywrite
此页面上有下载链接以及许多其他资源:http: //www.lexitec.fi/xywrite/utility.html
这是下载的直接链接:“Dave Navarro, Jr. 下载Clip.exe从剪贴板复制和复制到剪贴板。”
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
我不确定当时是否不支持此命令,但它确实有效
clip > file.txt
我知道我真的迟到了,但你可以写:
type file.txt | clip
所以剪贴板的内容就是file.txt的内容
这个肮脏的把戏满足了我的需要,它随 Windows 一起提供!
notepad.exe file.txt
Ctrl+ V, Ctrl+ S, Alt+ F,X