如何解决Powershell-从文本中删除元数据
我想编写一个Powershell脚本,该脚本在运行时将删除剪贴板中文本的所有格式和类似的元数据。
我正在谈论诸如从Microsoft Word复制一些文本并将其粘贴到Excel中的事情,通常这会以粗体,斜体等方式将其粘贴。设置文本在Word中的格式,但是我想粘贴它,就像我已经将其复制到记事本,然后从那里复制。
- 我希望摆脱仿真打开notepad.exe,粘贴并再次复制的需求,因为我希望有一个更优雅/更智能的选择。
- 我知道Office应用程序中有一个“纯文本”复制选项,但它不仅不能始终如您所愿/想要的那样工作,而且复制到其他应用程序中也没有该选项。
我知道如何使用“ Get-Clipboard”从剪贴板中获取文本,然后使用“ Set-Clipboard”进行设置,但我不知道该在哪里存储该格式的信息。
解决方法
tl; dr
-
只需调用
display: none
就可以为您提供所需的纯文本表示形式。 -
如果要以单多行字符串而不是行的 返回文本,请添加
Get-Clipboard
。>
背景信息:
-
将基于富文本格式的格式复制到剪贴板的应用程序,例如Word和Excel复制RTF和HTML,通常也 -相同内容的文本表示形式。
-
PowerShell的
Get-Clipboard
cmdlet检索纯文本表示形式:-
Windows PowerShell 中的默认
-
:
- 要获取多种格式之一(如果存在),请使用带有适当枚举值的
-TextFormatType
parameter。 [1]
- 要获取多种格式之一(如果存在),请使用带有适当枚举值的
-
恒定地在PowerShell [Core] v6 + 中,其中
-Raw
仅支持纯文本检索。 -
分别在两个PowerShell版本中,您可以使用
Get-Clipboard
开关来请求剪贴板上的多行文本作为多行单行字符串返回而不是默认的行数组。
-
[1]用显式参数表示默认行为:-Raw
;该文档未指定枚举值Get-Clipboard -Format Text -TextFormatType UnicodeText
是否以及如何不同。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。