需要在目录中组合大量文件

时间:2010-08-05 19:43:28

标签: notepad++ concatenation

我在一个目录中有50到60个文件,我需要定期连接到一个文件中。

我想过使用notepad ++认为可能有一个插件可以帮助但却找不到它。

还有其他想法吗?

10 个答案:

答案 0 :(得分:81)

假设这些是文本文件(因为你使用的是notepad ++)并且你在Windows上,你可以设计一个简单的批处理脚本来将它们连接在一起。

例如,在包含所有文本文件的目录中,执行以下命令:

for %f in (*.txt) do type "%f" >> combined.txt

这会将匹配* .txt的所有文件合并到一个名为combined.txt的文件中。

了解更多信息:

http://www.howtogeek.com/howto/keyboard-ninja/keyboard-ninja-concatenate-multiple-text-files-in-windows/

答案 1 :(得分:63)

使用Windows“复制”命令。

C:\Users\dan>help copy
    Copies one or more files to another location.

    COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B]
         [+ source [/A | /B] [+ ...]] [destination [/A | /B]]

      source       Specifies the file or files to be copied.
      /A           Indicates an ASCII text file.
      /B           Indicates a binary file.
      /D           Allow the destination file to be created decrypted
      destination  Specifies the directory and/or filename for the new file(s).
      /V           Verifies that new files are written correctly.
      /N           Uses short filename, if available, when copying a file with 
                   a non-8dot3 name.
      /Y           Suppresses prompting to confirm you want to overwrite an
                   existing destination file.
      /-Y          Causes prompting to confirm you want to overwrite an
                   existing destination file.
      /Z           Copies networked files in restartable mode.
      /L           If the source is a symbolic link, copy the link to the 
                   target
                   instead of the actual file the source link points to.

    The switch /Y may be preset in the COPYCMD environment variable.
    This may be overridden with /-Y on the command line.  Default is
    to prompt on overwrites unless COPY command is being executed from
    within a batch script.

    **To append files, specify a single file for destination, but 
    multiple files for source (using wildcards or file1+file2+file3 
    format).**

所以在你的情况下:

copy *.txt destination.txt

将所有.txt文件按字母顺序连接到destination.txt

感谢您的提问,我学到了新的东西!

答案 2 :(得分:11)

copy *.txt all.txt

这会将文件夹的所有文本文件连接到一个文本文件all.txt

如果您有任何其他类型的文件,例如sql文件

copy *.sql all.sql

答案 3 :(得分:5)

是的,一个名为“combine”的插件可用于记事本++。链接:。>> Combine Plugin for Notepad++

您可以通过插件管理器安装它。这个插件的额外好处是:“你可以在合并时保持文件的顺序,它是根据打开的文件的顺序打开的(见标签)”。

答案 4 :(得分:1)

你可以像这样使用powershell脚本

$sb = new-object System.Text.StringBuilder

foreach ($file in Get-ChildItem -path 'C:\temp\xx\') {
    $content = Get-Content -Path $file.fullname
    $sb.Append($content)
}
Out-File -FilePath 'C:\temp\xx\c.txt' -InputObject $sb.toString()

答案 5 :(得分:1)

在Windows中,我在批处理文件中使用一个简单的命令,并使用计划任务将所有信息保存在一个文件中。请务必选择结果文件的其他路径,否则您将拥有重复的数据。

类型 PathToOriginalFiles \ *。扩展程序> AnotherPathToResultFile \ NameOfTheResultFile.Extension

如果你需要加入大量的csv文件,一件好事就是只在一个名为 0header.csv 的文件或其他名称中设置标题,这样就可以了总是列表中的第一个文件,并确保编程所有其他csv文件不包含标题。

答案 6 :(得分:1)

如果您想在Notepad ++上打开文件,可以使用Combine插件: http://www.scout-soft.com/combine/

答案 7 :(得分:0)

有一个方便的第三方工具,名为 FileMenu工具,它提供了几个右键单击工具作为Windows资源管理器扩展。

其中一个是拆分文件 / 加入零件,它确实会撤消您要查找的内容。

http://www.lopesoft.com/en/filemenutools处查看。 当然,它只是Windows,因为Unix环境已经有很多工具。

答案 8 :(得分:0)

我知道这是一个旧帖子,但我找到了它然后发现有人建议使用Total Mail Converter。我能够将带有2k .msg文件的文件夹转换为.txt。它还允许您转换为PDF和其他流行格式。

这是一个很棒的工具,我很高兴有人建议,因为它会节省我好几天。

仅供参考 - 我的项目是将.msg文件合并到一个文本文件中,以便我可以运行脚本从文件中提取某些信息(即:电子邮件和链接)。我可以使用一个文件而不是2k文件。

答案 9 :(得分:0)

我在windows powershell上使用了这个脚本:

ForEach ($f in get-ChildItem *.sql) { type "$f" >> all.sql }