Powershell - 从文本中删除元数据
Powershell - remove metadata from text
我想编写一个 Powershell 脚本,当 运行 时,将从剪贴板中的文本中删除所有格式和类似的元数据。
我说的是诸如从 Microsoft Word 中复制一些文本并将其粘贴到 Excel 之类的东西,通常这会将其粘贴为粗体、斜体等。格式化文本在 Word 中的格式,但我想粘贴它,就好像我已经将它复制到记事本并从那里复制了它。
- 我宁愿避免模拟打开 notepad.exe 的需要,粘贴到那里并再次复制,因为我希望有更多 elegant/intelligent 选项。
- 我知道 Office 应用程序中有一个复制选项“仅文本”,但它不仅不能像您希望的那样总是工作 expect/want,而且复制到其他应用程序也没有该选项。
我知道如何使用“Get-Clipboard”从剪贴板中获取文本,然后使用“Set-Clipboard”对其进行设置,但我不知道该死的格式信息存储在哪里。
tl;dr
只需调用 Get-Clipboard
即可获得所需的 plain-text 表示。
如果您希望文本作为 单个 、multi-line 字符串而不是 [=40= 返回,请添加 -Raw
]array 行。
背景资料:
将富 text-based 格式复制到剪贴板的应用程序,例如 Word 和 Excel 复制 RTF 和 HTML, 通常也复制相同内容的plain-text表示.
PowerShell 的 Get-Clipboard
cmdlet 检索 plain-text 表示:
在WindowsPowerShell中默认[=75=]:
- 要获得其中一种丰富的格式(如果存在),请使用具有适当枚举值的
-TextFormatType
parameter。[1]
在 PowerShell [Core] v6+ 中总是,其中 Get-Clipboard
仅支持 plain-text检索。
另外,在两个 PowerShell 版本中,您可以使用 -Raw
开关请求将剪贴板上的 multi-line 文本作为 单个文本返回, multi-line 字符串 而不是默认的 行数组 。
[1] 用显式参数表达默认行为:
Get-Clipboard -Format Text -TextFormatType UnicodeText
;文档没有指定枚举值 Text
是否以及如何不同。
我想编写一个 Powershell 脚本,当 运行 时,将从剪贴板中的文本中删除所有格式和类似的元数据。
我说的是诸如从 Microsoft Word 中复制一些文本并将其粘贴到 Excel 之类的东西,通常这会将其粘贴为粗体、斜体等。格式化文本在 Word 中的格式,但我想粘贴它,就好像我已经将它复制到记事本并从那里复制了它。
- 我宁愿避免模拟打开 notepad.exe 的需要,粘贴到那里并再次复制,因为我希望有更多 elegant/intelligent 选项。
- 我知道 Office 应用程序中有一个复制选项“仅文本”,但它不仅不能像您希望的那样总是工作 expect/want,而且复制到其他应用程序也没有该选项。
我知道如何使用“Get-Clipboard”从剪贴板中获取文本,然后使用“Set-Clipboard”对其进行设置,但我不知道该死的格式信息存储在哪里。
tl;dr
只需调用
Get-Clipboard
即可获得所需的 plain-text 表示。如果您希望文本作为 单个 、multi-line 字符串而不是 [=40= 返回,请添加
-Raw
]array 行。
背景资料:
将富 text-based 格式复制到剪贴板的应用程序,例如 Word 和 Excel 复制 RTF 和 HTML, 通常也复制相同内容的plain-text表示.
PowerShell 的
Get-Clipboard
cmdlet 检索 plain-text 表示:在WindowsPowerShell中默认[=75=]:
- 要获得其中一种丰富的格式(如果存在),请使用具有适当枚举值的
-TextFormatType
parameter。[1]
- 要获得其中一种丰富的格式(如果存在),请使用具有适当枚举值的
在 PowerShell [Core] v6+ 中总是,其中
Get-Clipboard
仅支持 plain-text检索。另外,在两个 PowerShell 版本中,您可以使用
-Raw
开关请求将剪贴板上的 multi-line 文本作为 单个文本返回, multi-line 字符串 而不是默认的 行数组 。
[1] 用显式参数表达默认行为:
Get-Clipboard -Format Text -TextFormatType UnicodeText
;文档没有指定枚举值 Text
是否以及如何不同。