是否可以将 notepad++ 中打开的所有文件的名称转储到一个文件中?

是否可以将 notepad++ 中打开的所有文件的名称转储到一个文件中?

因此,我将多个文件拖放到 notepad++ 上。这些文件来自不同的目录,并使用不同的标准进行选择。

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

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

建议使用另一个具有此功能的免费编辑器也是一个不错的选择(我不会放弃 notepad++,但愿不会)

答案1

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

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

在控制台中输入:

notepad.getFiles()

以列表类型返回所有​​打开的文件:

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

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

fileNames = [n[0] for n in notepad.getFiles()]

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

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

for f in fileNames: editor.appendText(f + '\n')

新文件粘贴此代码。

notepad.new() ; for f in fileNames: editor.appendText(f + '\n')

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

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

文档

全面的文档可在http://npppythonscript.sourceforge.net/docs/latest/Python 入门教程。

答案2

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

答案3

在 Windows 中,如果您在桌面(等)上创建一个名为“工作集”(或其他名称)的文件夹,您可以将文件的快捷方式拖到此文件夹中,而不是将它们拖到 notepad++。

然后,您可以使用文件 > 打开对话框正常打开它们:记事本将打开快捷方式目标。这样,您可以通过一次操作打开多个文件。

您也可以右键单击资源管理器中的快捷方式并“使用 > notepad++ 打开”,但这只会打开单个文件而不是您可能选择的一组文件。

请注意,如果您使用“发送到”而不是“打开方式”,它将打开快捷方式本身,这是一个二进制文件,而不是您想要的。


您还可以在“文件菜单”下保存“会话”。这将创建一个 xml 文件,其中包含当前打开的文件以及视口设置等。您可以重新加载会话,也可以打开并解析会话文件以提取文件名。


同样对于 Windows,如果您正在编写文件选择脚本,则可以使用 vbs 创建快捷方式:

 set objWSHShell = CreateObject("WScript.Shell")

' command line arguments
' TODO: error checking
sShortcut = objWSHShell.ExpandEnvironmentStrings(WScript.Arguments.Item(0))
sTargetPath = objWSHShell.ExpandEnvironmentStrings(WScript.Arguments.Item(1))

set objSC = objWSHShell.CreateShortcut(sShortcut) 

objSC.TargetPath = sTargetPath

objSC.Save

注意参数 0 将是快捷方式的路径和名称,参数 1 将是快捷方式的目标(文件名)。可以使用以下命令调用:

cscript create_shortcut.vbs %1 %2

答案4

从“文档列表”面板中,选择所需的文件(使用 CTRL 添加多个),右键单击,选择名称或路径,将其粘贴到您想要的任何位置。

相关内容