如何在 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}

相关内容