簡體   English   中英

如何使用批處理文件或 PowerShell 清除 Windows 剪貼板?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM