計算結果をカンマ編集してクリップボードに格納する「AddComma」フィルタ書きました
コマンド実行結果をクリップボードにセットする方法として clip.exe を使う方法が良く知られています
例えば、dir の結果をクリップボードにセットのであれば「dir | clip」とします
この場合は、コマンド結果が clip.exe にリダイレクトされてしまい、dir 結果を確認するには、クリップボードに格納されている内容を何かにペーストしなくてはなりません
コマンド実行結果のクリップボード格納格納と、実行結果表示を両立させるのには、PowerShell の「Set-Clipboard -PassThru」を使うと実現できます
Set-Clipboard は「scb」とエリアスがセットされているので、「scb -PassThru」とすれば OK です
(-PassThru オプションは -p[TAB]で補完できます)
(※ Windows
Powershell 5.x は -PassThru オプションに対応していないので、カンマ編集と echo を別に処理する必要があります)
PowerShell は計算式を入力すると、計算結果を表示できるので、電卓アプリより便利だったりします
ただ、そのままだと、計算結果がカンマ編集されないので、桁数が大きいと結果確認に難があります
そんなところにも柔軟に対応できるのが、PowerShell の利点なので、ToString を使ってカンマ編集させるとこんな感じになります
これを「scb -PassThru」にリダイレクトしてクリップボードに格納に格納すれば良いですが、この呪文を都度入力するのは現実的はありませんね
PowerShell でリダイレクトを受け取る方法としてフィルタを書く手があります
コードにするとこんな感じです
|
こいつを組み込んでしまえば、面倒な呪文を書かなくでも「AddComma」にリダイレクトすれば、カンマ編集とクリップボード格納が出来ます
(addc[TAB]でAddCommaに補完できます)
以下を PowerShell にコピペすれば「AddComma」フィルタがオンラインインストールされます
$ModuleName = "AddComma" $GitHubName = "MuraAtVwnet" Invoke-WebRequest -Uri https://raw.githubusercontent.com/$GitHubName/$ModuleName/master/OnlineInstall.ps1 -OutFile ~/OnlineInstall.ps1 & ~/OnlineInstall.ps1 |
以下コマンドを入力すると「AddComma」は Uninstall されます
& ~/UnInstallAddComma.ps1 |
簡単なフィルタなので更新は無いと思いますが、「AddComma」には更新チェック機能があります
AddComma -VertionCheck |
このように入力すると、更新があった場合フィルタが更新されます
PowerShell 7.5.2(Windows 環境で確認しましたが、Linux でも動くはず)
Windows
PowerShell 5.1
以下リポジトリで一式公開しています
https://github.com/MuraAtVwnet/AddComma
git@github.com:MuraAtVwnet/AddComma.git
Copyright © MURA All rights reserved.