I've got 50 to 60 files in a directory that I need to concatenate into a single file on a regular basis.
I thought about using notepad++ thinking 开发者_如何学JAVAthere was probably a plug-in that would help but haven't been able to find one.
Any other thoughts?
Assuming these are text files (since you are using notepad++) and that you are on Windows, you could fashion a simple batch script to concatenate them together.
For example, in the directory with all the text files, execute the following:
for %f in (*.txt) do type "%f" >> combined.txt
This will merge all files matching *.txt into one file called combined.txt.
For more information:
http://www.howtogeek.com/howto/keyboard-ninja/keyboard-ninja-concatenate-multiple-text-files-in-windows/
Use the Windows 'copy' command.
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).**
So in your case:
copy *.txt destination.txt
Will concatenate all .txt files in alphabetical order into destination.txt
Thanks for asking, I learned something new!
copy *.txt all.txt
This will concatenate all text files of the folder to one text file all.txt
If you have any other type of files, like sql files
copy *.sql all.sql
Yes , A plugin is available named "combine" for notepad++.Link: .>> Combine Plugin for Notepad++
You can install it via plugin manager. Extra benifit of this plugin is: "You can maintain the sequence of files while merging, it's according to the sequence of opened files are opened (see tabs)".
you could use powershell script like this
$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()
In windows I use a simple command in a batch file and I use a Scheduled Task to keep all the info in only one file. Be sure to choose another path to the result file, or You will have duplicate data.
type PathToOriginalFiles\*.Extension > AnotherPathToResultFile\NameOfTheResultFile.Extension
If you need to join lots of csv files, a good thing to do is to have the header in only one file with a name like 0header.csv, or other name, so that it will allways be the first file in list, and be sure to program all the other csv files to not contain an header.
If you like to do this for open files on Notepad++, you can use Combine plugin: http://www.scout-soft.com/combine/
There is a convenient third party tool named FileMenu Tools, that gives several right-click tools as a windows explorer extension.
One of them is Split file / Join Parts, that does and undoes exactly what you are looking for.
Check it at http://www.lopesoft.com/en/filemenutools. Of course, it is windows only, as Unixes environments already have lots of tools for that.
I know this is an old post, but I found it and then found someone who suggested Total Mail Converter. I was able to convert my folder with 2k .msg files into .txt. It also allows you to convert into PDF and other popular formats.
It's a great tool that I am glad someone suggested as it will save me several days.
FYI - My project is combining the .msg files into one text file so that I can run a script to extract certain information from the files (ie: email and links). Instead of 2k files, I can work with one.
I used this script on windows powershell:
ForEach ($f in get-ChildItem *.sql) { type "$f" >> all.sql }
精彩评论