我有一些批处理文件,并且我的程序可以自动与剪贴板一起使用。
但是我想清除剪贴板,然后清除它,就像这样:
echo>nul|clip
还有其他方式吗?
答案 0 :(得分:2)
最合理的方法(至少在我看来是这样),即对 STDIN 不做redirect(<
)(nul
)({像0
一样处理clip
命令的< nul clip
),由于该命令的设计糟糕,因此无法正常工作,因为输入重定向(<
)似乎只能完成文件处理。
因此需要使用管道(|
),该管道仍然允许以下几种方式:
echo/> nul | clip
break | clip
(rem/) | clip
type nul | clip
goto | clip
call | clip
exit | clip
以上所有方法均在管道左侧使用一条命令,该命令不会向 STDOUT 输出任何内容(句柄1
)。
答案 1 :(得分:1)
如果要使用Powershell进行操作:
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Clipboard]::Clear()
答案 2 :(得分:0)
这是另一种方法。这似乎至少清除了CF_TEXT和CF_BITMAP。需要测试以查看是否清除了所有CF_ *类型。
powershell -NoLogo -NoProfile -Command "Set-Clipboard -Value $null"
答案 3 :(得分:0)
批处理
更多批处理方式:
<nul set /p="" | clip
dir >nul | clip
cd %cd% | clip
pushd %cd% | clip
cd >nul | clip
VBscript
VBscript中的一种方法:
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate("about:blank")
IE.Document.ParentWindow.ClipboardData.SetData "text", ""
IE.Quit