Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 409
  • Last Modified:

Join text files

I have several text files which need to be joined together.  They all contain data.
I simply want to join the contents of each file in an orderly way, one after another and so forth, and then I want to form 1 file.

For example, there are 4 .txt files, at C:\WorkingFolder\...

They all end with .. 1.txt,  ..2.txt,  ...3.txt and ...4.txt  (for instance Order1.txt, Order2.txt, Order3.txt and Order4.txt.  I want to join them all into 1 .txt file called OrdersComb.txt.
The order of the joining of the contents does not have to follow the 1,2,3,4 but that would be fine if it followed that logical pattern.
0
100questions
Asked:
100questions
  • 4
  • 3
  • 2
  • +1
1 Solution
 
Bill PrewCommented:
The simplest way is just:

copy file1.txt+file2.txt+file3.txt+file4.txt orderscomb.txt

you may also be able to use a wildcard if all the files match a patter, like:

copy file?.txt orderscomb.txt

~bp
0
 
Ram BalachandranCommented:
yes, if you wish you can also use vbscript also. In the following link you can merge multiple txt files from specific folder to one txt file. It will merge all data to one txt file [OrdersComb.txt]  from the path C:\workingfolder

Const ForReading = 1 
 
Set objFSO = CreateObject("Scripting.FileSystemObject") 
Set objOutputFile = objFSO.CreateTextFile("OrdersComb.txt") 
 
strComputer = "." 
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") 
 
Set FileList = objWMIService.ExecQuery _ 
    ("ASSOCIATORS OF {Win32_Directory.Name='C:\workingfolder''} Where " _ 
        & "ResultClass = CIM_DataFile") 
 
For Each objFile In FileList 
    Set objTextFile = objFSO.OpenTextFile(objFile.Name, ForReading)  
    strText = objTextFile.ReadAll 
    objTextFile.Close 
    objOutputFile.WriteLine strText 
Next 
 
objOutputFile.Close

Open in new window

0
 
Steve KnightIT ConsultancyCommented:
I'd go with copy command suggested by Bill from batch unless you need something like a specific order etc.  If needed then get the output of the dir command into the order you want, e.g.

e.g. date order:  dir /od  dir /o-d
etc.
or even something like using a sort by 5th char in name
dir /b /o-d | sort /+5

then you can read whatever list of filenames you make, and pipe them all into a new file with a one liner batch:

@echo off
(for /f "tokens=*" %%a in ('dir /b /o-d /a-d Order*.txt') do type "%%~a") > outputfile.txt
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
100questionsAuthor Commented:
Lastly, when joining the files.
I want a blank line to separate the data.   Is this possible?
0
 
Steve KnightIT ConsultancyCommented:
Don't know which ones you have tried or talking about but try this or variation as required on the dir command options.  It is only the filenames that is processed by the for command so there is no problem with any control characters like ><&() etc. messing anything up in the data like if we processed them line by line.

Steve

@echo off
(for /f "tokens=*" %%a in ('dir /b /o-d /a-d Order*.txt') do (
  type "%%~a"
  echo.
) > outputfile.txt
0
 
Bill PrewCommented:
I think this would work in a small BAT file:

@echo off
set Blank="%TEMP%\_lf.txt"
echo.>%Blank%
copy file1.txt+%Blank%+file2.txt+%Blank%+file3.txt+%Blank%+file4.txt orderscomb.txt
del %Blank%

Open in new window

~bp
0
 
Steve KnightIT ConsultancyCommented:
True Bill, messier than nice loop though :-)
0
 
Bill PrewCommented:
Yes, really depends on how many files involved...

~bp
0
 
Steve KnightIT ConsultancyCommented:
any particular reason why you gave bill a B grade for answering your question?
0
 
100questionsAuthor Commented:
It should have been an A grade.
0

Featured Post

NEW Veeam Backup for Microsoft Office 365 1.5

With Office 365, it’s your data and your responsibility to protect it. NEW Veeam Backup for Microsoft Office 365 eliminates the risk of losing access to your Office 365 data.

  • 4
  • 3
  • 2
  • +1
Tackle projects and never again get stuck behind a technical roadblock.
Join Now