Solved

Windows copy two files into one file and rename file

Posted on 2014-01-02
12
406 Views
Last Modified: 2014-01-04
On my windows server I have two files, File1.csv and File2.csv.  I need to concatenate the two files, or append File2.csv to File1.csv, into a third file, File3.csv; either way, as long as the contents of File1.csv is first in the File3_CURRENTDATE.csv

I will need to have this run via a .bat file that will perform the task once a week.  I also need to know how to name the resultant file with the currentdate appended to the name before the .csv suffix.  For example

File1.csv File2.csv >> File3_20140102.csv

Thanks so much for any help you can provide.
0
Comment
Question by:newtoperlpgm
12 Comments
 
LVL 24

Expert Comment

by:chaau
Comment Utility
The easiest you can do is to use copy command, like this:
copy File1.csv + File2.csv File3_20140102.csv

Open in new window

If your files are binary, then use this:
copy /B File1.csv + File2.csv File3_20140102.csv

Open in new window

0
 

Author Comment

by:newtoperlpgm
Comment Utility
Thank you but I need to automate the process to add the current date to the filename File3.
0
 
LVL 18

Accepted Solution

by:
Jeremy Weisinger earned 500 total points
Comment Utility
I haven't tested this but I believe it should work.

If your CSV files have headers:
@ECHO OFF
set loop1=1
for /f "tokens=1-4 delims=/ " %%a in ("%date%") do (set fileDate=%%d%%c%%b)
set outfile=file3%filedate%.csv
for %%a in ("file1.csv","file2.csv") do (
  if defined loop1 (
    COPY /y "%%a" %outfile% >nul
    set "loop1="
  ) else (
    FOR /f "skip=1 delims=" %%I IN (%%a) DO >> %outfile% ECHO %%I
  )
) 

Open in new window


If they don't then:
@ECHO OFF
set loop1=1
for /f "tokens=1-4 delims=/ " %%a in ("%date%") do (set fileDate=%%d%%c%%b)
set outfile=file3%filedate%.csv
for %%a in ("file1.csv","file2.csv") do (
  if defined loop1 (
    COPY /y "%%a" %outfile% >nul
    set "loop1="
  ) else (
    type %%a >> %outfile%
  )
) 

Open in new window

0
 
LVL 18

Expert Comment

by:Raheman M. Abdul
Comment Utility
In powershell you can run this:
start -> run -> powershell
then type the following and save the file as "combine.ps1"
------------------------
Set-ExecutionPolicy unrestricted
$combinedfile="c:\resultfile_" + (get-date).toshortdatestring() + ".csv"
add-content -value (get-content c:\csvfile1.csv) -path $combinedfile.csv
add-content -value (get-content c:\csvfile2.csv) -path $combinedfile.csv
-------------------------

Run the combine.ps1 file as scheduled task if you want to automatically run on schedule.

Input files are c:\csvfile1.csv and c:\csvfile2.csv
Output file: c:\resultfile_02/01/2014.csv

( The date is added based on the day you execute the .ps1 file)

You can refer the following to schedule the above as task in task scheduler.
http://blogs.technet.com/b/heyscriptingguy/archive/2012/08/11/weekend-scripter-use-the-windows-task-scheduler-to-run-a-windows-powershell-script.aspx
0
 

Author Comment

by:newtoperlpgm
Comment Utility
@Jeremy Weisinger I tested your solution and it worked for me, so in order to run it I will need to add directories in order for it to know where my files that I want to be copied are correct?  Thanks.
0
 

Author Comment

by:newtoperlpgm
Comment Utility
***update, never mind, I figured that out by changing the format in the (set fileDate=%%d%%b%%c)


Jeremy Weisinger, I also have a question about the date,
if I want to have 20140102 as todays date, how can I change it so that it appears that way.  My date appeared 20140201.
Thank you.
0
What Should I Do With This Threat Intelligence?

Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

 
LVL 3

Expert Comment

by:telczj9
Comment Utility
change it to fileDate=%%d%%b%%c
0
 
LVL 18

Expert Comment

by:Jeremy Weisinger
Comment Utility
@newtoperlpgm "Jeremy Weisinger, I also have a question about the date,
if I want to have 20140102 as todays date, how can I change it so that it appears that way.  My date appeared 20140201."

Yes, I usually put the month first so that it's easy to sort by date just by sorting the filename. But it looks like you already figured out how to change the order.

Cheers!
JW
0
 

Author Comment

by:newtoperlpgm
Comment Utility
I've requested that this question be closed as follows:

Accepted answer: 0 points for newtoperlpgm's comment #a39752713

for the following reason:

solution provided.
0
 
LVL 18

Expert Comment

by:Jeremy Weisinger
Comment Utility
I believe newtoperlpgm mistakenly choose their own answer as the solution when they stated my answer was correct.
0
 

Author Comment

by:newtoperlpgm
Comment Utility
oops that is correct Jeremy I inadvertently clicked on the wrong comment to Accept as Solution.  Thanks for noticing.  I will correct.
0
 
LVL 18

Expert Comment

by:Jeremy Weisinger
Comment Utility
No problem. Thanks!
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

Many admins will agree: WSUS is is a nice invention but using it on the client side when updating a newly installed computer is still time consuming as you have to do several reboots and furthermore, the procedure of installing updates, rebooting an…
If you use Adobe Reader X it is possible you can't open OLE PDF documents in the standard. The reason is the 'save box mode' in adobe reader X. Many people think the protected Mode of adobe reader x is only to stop the write access. But this fe…
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
This video will show you how to get GIT to work in Eclipse.   It will walk you through how to install the EGit plugin in eclipse and how to checkout an existing repository.

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

6 Experts available now in Live!

Get 1:1 Help Now