Notepad++ でファイルを別の名前で保存するマクロを作成するにはどうすればよいですか?

Notepad++ でファイルを別の名前で保存するマクロを作成するにはどうすればよいですか?

Notepad++ で、現在のファイルを別の名前で保存するマクロを作成するにはどうすればよいですか?

Notepad++ でマクロ レコーダーを使用すると、Save操作が記録されないようです。

理想的には、Notepad++ で現在のファイルを開いたときと同じ場所に保存し、ファイル名の最後の 9 文字を削除したいと思います。たとえば、現在のファイルが次の場合:

c:\foo\bar123456789.c

Notepad++ マクロで次のように保存したいと思います:

c:\foo\bar.c

(その名前のファイルはすべて上書きされます)

それが理想的な目標ですが、Notepad++ マクロを使用してこれに近づけるだけでも、手動でその操作を実行するよりも改善されます。

答え1

PythonScript プラグイン内で Python スクリプトを実行できます。

まだインストールされていない場合は、次の手順に従ってくださいガイド

スクリプトを作成する (プラグイン >> PythonScript >> 新しいスクリプト)

このコードをコピーしてファイルを保存します (例replace.py):

import re

# Define the new filename
newFilename = notepad.getCurrentFilename()

# remove up to 9 characters before extension
newFilename = re.sub(r'.{1,9}(?=\.\w+$)', '', newFilename)

# Save current file with new name
notepad.saveAs(newFilename);
  • 変更したいファイルを開く
  • スクリプトを実行します (プラグイン >> PythonScript >> スクリプト >> 置換)
  • 終わり

正規表現の説明:

.{1,9}          # 1 upto 9 any characters
(?=             # positive lookahead, make sure we have after (without capturing)
    \.              # a dot
    \w+             # 1 or more word characters
  $               # end of string
)               # end lookahead

もしあるならいつも9文字目を削除し、.{9}代わりに使用する.{1,9}

関連情報