Home > Windows にまつわる e.t.c.

PowerShell で クリップボードの書式を削除してプレーンテキストにする


書式付きのペーストを受け入れるアプリは多くありますが、書式が邪魔でプレーンテキストのみペーストしたいこともよくあります

Windows 11 とか、最近の MS Office であればプレーンテキストでペースする事も出来ますが、対応していない環境の場合、メモ帳とかにペーストするとか少々面倒です

そんな時は、PowerShell でプレーンテキスト変換が出来ます

 

Windows PowerShell 5.x の場合

Get-Clipboard -Format Text | Set-Clipboard

 

少々長いので、Alias を使うとこんな感じ

gcb -Format Text | scb

 

PowerShell 7 以降の場合

PowerShell 7 以降でも Get-Clipboard、Set-Clipboard はサポートされていますが、-Format オプションが無くなっています

マルチプラットフォーム対応でプレーンテキストしか扱わない仕様になったそうす

このため、単純にクリップボードの取り出し再セットでプレーンテキストになります

Get-Clipboard | Set-Clipboard

Alias を使うとこんな感じ

gcb | scb

 

都度コマンドレットを打つのも面倒なので、モジュールにしてインストールできるようにしましたので、興味があれば使ってください

 

スクリプトインストール方法

以下を PowerShell プロンプトにコピペ

$ModuleName = "RemoveAttribute"
$GitHubName = "MuraAtVwnet"
Invoke-WebRequest -Uri https://raw.githubusercontent.com/$GitHubName/$ModuleName/master/OnlineInstall.ps1 -OutFile ~/OnlineInstall.ps1
& ~/OnlineInstall.ps1

 

実行方法

クリップボードに文字列を読み込んだら、以下コマンドを PowerShell プロンプトで実行すると、クリップボードにセットされている文字列の属性を削除します

RemoveAttribute

(removea[TAB] でコマンド補完されます)

 

動作確認環境

Windows PowerShell 5.1
PowerShell 7.4.5 (Windows)
たぶん Mac Linux でも動くはず

 

Windows Powershell の場合、スクリプトの実行許可が必要なので、以下コマンドで許可状態を確認して下さい

Get-ExecutionPolicy

 

結果が、「RemoteSigned」になっていないかったら、以下コマンドを入力(1回のみ)

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

 

オプション

RemoveAttribute の後に、ハイフンを入力して TAB を叩くと、オプションが補完されるのて、必要オプションを選択してください

RemoveAttribute -[TAB]

 

-VertionCheck

最新版のスクリプトがあるか確認します
最新版があれば、自動ダウンロード & 更新します

 

GitHub

https://github.com/MuraAtVwnet/RemoveAttribute

git@github.com:MuraAtVwnet/RemoveAttribute.git

 

 

back.gif (1980 バイト)

home.gif (1907 バイト)

Copyright © MURA All rights reserved.