是否可以将记事本++中所有打开文件的名称转储到文件中?

mar*_*ark 5 notepad++

所以,我将多个文件拖放到记事本++上。这些文件来自不同的目录,并使用不同的标准进行选择。

所以,我在 Notepad++ 中打开了很多文件。现在我需要在另一个文件中列出所有打开的文件。

现在,我唯一的选择是编写用于指导我首先选择文件的决定的脚本。从长远来看,这可能是最好的,但我想知道 Notepad++ 中是否有一个快速的。一些插件魔术或其他什么。

建议另一个具有此功能的免费编辑器也是一个不错的选择(不是说我要放弃记事本++,上帝保佑)

Mik*_*ess 6

File > Save Session将创建一个文件,其中包含有关您正在执行的操作的大量信息。它将包含所有打开文件的列表。您必须进行一些解析才能获得文件名。


gun*_*sus 5

是的,安装Python 脚本插件插件管理器。

安装 Python 控制台后,切换 Python 控制台。

在控制台中输入:

notepad.getFiles()
Run Code Online (Sandbox Code Playgroud)

将所有打开的文件作为列表类型返回:

[('C:\\Users\\ahmed\\Desktop\\1999.txt', 32818504, 0, 0), ('D:\\WORKSPACE\\imza\\e-mail.html', 32721752, 1, 0), ('new  1', 32721944, 0, 1)]
Run Code Online (Sandbox Code Playgroud)

下面的代码是检索文件名的一次性命令,适用于 Python Script 命令行。您可以使用持久性 Python 脚本对其进行扩展。

fileNames = [n[0] for n in notepad.getFiles()]
Run Code Online (Sandbox Code Playgroud)

如何将此文件名转储到现有文件或新创建的文件

当前文件:粘贴此代码并按 Enter 两次。

for f in fileNames: editor.appendText(f + '\n')
Run Code Online (Sandbox Code Playgroud)

新文件粘贴此代码。

notepad.new() ; for f in fileNames: editor.appendText(f + '\n')
Run Code Online (Sandbox Code Playgroud)

也可以转储到外部文件,即使您不熟悉 Python ,来自http://npppythonscript.sourceforge.net/ 的这个片段也很容易理解:

externalFile='_log.log'; console.run('cmd /c ls > "%s"' % externalFile, editor) 
Run Code Online (Sandbox Code Playgroud)

文档

综合文档可在http://npppythonscript.sourceforge.net/docs/latest/Python Primer教程中获得。