[英]How to clear Windows clipboard using a batch file or PowerShell?
我有一個批處理文件,我的程序會自動與剪貼板一起工作。
但我想清除剪貼板並使用它:
echo>nul|clip
有沒有其他方法可以清除 Windows 剪貼板?
好吧,最合乎邏輯的方法(至少在我看來),即 重定向( <
) 無 ( nul
) 到STDIN (句柄0
)到clip
命令,例如< nul clip
,由於糟糕的設計而不起作用該命令,因為似乎輸入重定向( <
)只能用文件來完成。
所以需要使用管道( |
),它仍然允許幾種方式:
echo/> nul | clip
break | clip
(rem/) | clip
type nul | clip
goto | clip
call | clip
exit | clip
以上所有方法都使用管道左側的命令,該命令不會向STDOUT (句柄1
)輸出任何內容。
這是另一種方法。 這似乎至少清除了 CF_TEXT 和 CF_BITMAP。 需要測試以查看它是否清除了所有 CF_* 類型。
powershell -NoLogo -NoProfile -Command "Set-Clipboard -Value $null"
如果你想用 Powershell 做到這一點:
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Clipboard]::Clear()
批
批處理的更多方法:
<nul set /p="" | clip
dir >nul | clip
cd %cd% | clip
pushd %cd% | clip
cd >nul | clip
腳本
VBscript中的一個方法:
Dim IE
Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate("about:blank")
IE.Document.ParentWindow.ClipboardData.SetData "text", ""
IE.Quit
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.