メール返信するときに引用符がつかないのでPowerShellでスクリプトを作ってみた件

引用符(>)が欲しい

メールの返信を書くときの話ですけど、

届いたメールを選んで、返信ボタンを押すとこういう感じで「>」(大なり記号)の引用符が出てくることがあります。

これがあると、届いたメールの一部を引用符ごとコピーして上に貼り付けるだけで、その部分にだけピンポイントで返事を書くようなことができるわけです。

で、例えばメールソフトとしてWindowsのOutlookを使っている場合は、テキスト形式のメールに対する返信だとこのような書き方ができるのですけども……、HTML形式とかで届いたメールに返信しようとするとこの引用符(>)が出てくれないのですよね。

設定によりますけど、こういう青い直線が出てきたりして、

うまくいくのかな?と思ってコピーすると何も引用符がつかないという感じになります。

で、私、メールの返信するときにはわりと引用符付きで、届いたメールを引用しながら書きたいことが多いのです。
そんな時はちまちまと1行ずつ「>」を付けたりしていたのですけどちょっと面倒だと思っていました。

しかし、そろそろ新しい行動様式をとらないといけないと思ったので対策することにしました。

なお、普段の私はWindows 10のメールアプリを使うことが多くて、たまにOutlookを使うこともあるという感じです。

Outlookの画面をキャプチャしてここまで貼り付けてきましたけど、Windows 10のメールアプリも引用符付かないですね。同じです。

PowerShellのスクリプトでやってみる

対策するといってもどうやるのがベストなのかわからないのですが、とりあえずWindowsに入っているPowerShellでできるんじゃないのかなと思って調べてやってみました。

準備はざっくりと以下のような感じでできました。

  1. クリップボードにコピーしたテキストに「> 」を付けるPowerShellスクリプトを動かすようなbatファイルを用意する。

手順1つでした。

このbatファイルを準備すると、

  1. 引用したいテキストをコピー
  2. スクリプトのbatファイルを実行
  3. ペーストすると引用符がついている

という手順で引用符をつけることができました。

クリップボードのテキストに「> 」を付けるスクリプト(PowerShell)を動かすbatファイルを用意する

というわけで、本題となるbatファイルを作ります。

いろいろ調べた結果、次のようなコード(一応最後に改行入れておく)をメモ帳などで書いて、ファイル名を例えば「clip引用符付加.bat」などにして保存すればOKという感じでした。

@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof
$outputencoding=[console]::outputencoding
Get-Clipboard -Format Text | ForEach-Object { "> $_" } | clip

この書き方はこちらを参考にさせていただきました。

PowerShellメモ クリップボード操作 - Qiita
■概要 クリップボードから値を取り出したり、クリップボードに値を設定したり。 ■クリップボードから値を取得 ◇テキストを取得 構文 Get-Clipboard -Format Text 実行例) 文字列...
クリップボードに値をコピーする - PowerShell プログラミング
バッチファイルから PowerShell を呼び出す方法 - Qiita
背景 PowerShell でスクリプトを書くメリットの一つとしては、Windows7 以降ならデフォルトで入っているので、Windows を使っている人になら書いたスクリプトを渡して、そのまま使えることにあると思っている。(し...

実行結果

というわけで、早速使ってみます。

メールの中の引用したいテキストをCtrl+Cなどでコピーしてから「clip引用符付加.bat」をダブルクリックします。

一瞬、コマンドプロンプトの黒い画面が出て消えるので、それを見届けたら貼り付けたいところにCtrl+Vなどでペーストします。

すると、こういう感じで引用符付きで貼り付けられました。

よし!

……よく見ると、なんか最後の行に1個無駄に引用符が出てしまっているのですけど、いまいち直し方がよくわからないのでそれは手動削除で対応することにしました。

まだ手間はかかりますけど、随分楽になりました。

もっと便利に

ついでにもう1歩だけ楽をするために、「clip引用符付加.batの入っているフォルダを開いて、clip引用符付加.batをダブルクリックする」という作業を省略してみることにしました。

適当なフォルダを作成して、そこに先ほどの「.bat」ファイルを入れます。
とりあえずフォルダ名は「引用符」にしました。

あとは、Windowsのタスクバー右クリックから、ツールバー→新規ツールバーと進んで、今作った引用符フォルダを選択。

すると、タスクバーの端っこに「引用符」と出てくるようになります。

その横の「>>」をクリックすると、さっきの「clip引用符付加.bat」が出てくるのでそれをクリックすることで、さっきのスクリプトが動くようになります。

これくらいまで楽になれば、私としてはもう十分です。

まとめ

そんな感じでできました。

正直スクリプトの中身はよく理解できていませんし、そこまでメールの返信を書く機会あるのかっていうと実はそんなに多くはないなと思ったのですけど、とにかく面白かったので良しです。

こういうのをもっとスマートに扱えるようになりたいものです。そして楽したいです。

おわり。

コメント

タイトルとURLをコピーしました