Powershell-从文本中删除元数据

问题描述

我想编写一个Powershell脚本,该脚本在运行时将删除剪贴板中文本的所有格式和类似的元数据。

我正在谈论诸如从Microsoft Word复制一些文本并将其粘贴到Excel中的事情,通常这会以粗体,斜体等方式将其粘贴。设置文本在Word中的格式,但是我想粘贴它,就像我已经将其复制到记事本,然后从那里复制。

  1. 我希望摆脱仿真打开notepad.exe,粘贴并再次复制的需求,因为我希望有一个更优雅/更智能的选择。
  2. 我知道Office应用程序中有一个“纯文本”复制选项,但它不仅不能始终如您所愿/想要的那样工作,而且复制到其他应用程序中也没有该选项。

我知道如何使用“ Get-Clipboard”从剪贴板中获取文本,然后使用“ Set-Clipboard”进行设置,但我不知道该在哪里存储该格式的信息。

解决方法

tl; dr

  • 只需调用display: none就可以为您提供所需的纯文本表示形式。

  • 如果要以多行字符串而不是行的 返回文本,请添加Get-Clipboard。>


背景信息

  • 将基于富文本格式的格式复制到剪贴板的应用程序,例如Word和Excel复制RTF和HTML,通常 -相同内容的文本表示形式

  • PowerShell的 Get-Clipboard cmdlet检索纯文本表示形式

      Windows PowerShell 中的默认
    • 恒定地在PowerShell [Core] v6 + 中,其中-Raw仅支持纯文本检索。

    • 分别在两个PowerShell版本中,您可以使用Get-Clipboard开关来请求剪贴板上的多行文本作为多行单行字符串返回而不是默认的行数组


[1]用显式参数表示默认行为:
-Raw;该文档未指定枚举值Get-Clipboard -Format Text -TextFormatType UnicodeText是否以及如何不同。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...