Solved

File Copy Script

Posted on 2011-03-09
11
381 Views
Last Modified: 2012-06-21
I had a question posted earlier about script to copy files and create a text document of the files that were copied:
I need a script to create a folder on a Log Server and then copy files from one Server into that folder. I need it to create a .txt file listing all the files copied but save that file in a different location. Here is the script I'm using now, so if we can just make additions to this it would be great!!!

@echo off
set T=%time:~0,5%
set dir=%date:/=-% %T::=-%
echo The target folder is "%dir%".
xcopy /s /c /y "D:\GCTI\Logs\KSC_SIP_Agent_1_Bac\Archive\*.*" "\\usmoksc5app55\logs\usmoksc5app10\%dir%\"

The answer was to add to the existing script:
 >> "\\mysharedlocation\mylog.log"

I need a way to make the log file created named for date and time as I will run this script 4 times daily and need to not overwrite any previous logs.

The working answer was to add to the script:
0
Comment
Question by:charlespliler
  • 6
  • 4
11 Comments
 
LVL 2

Expert Comment

by:cefranklin
ID: 35086955
Set an xcopy before to ouput the log file?

@echo off
set T=%time:~0,5%
set dir=%date:/=-% %T::=-%
echo The target folder is "%dir%".
xcopy /L "D:\GCTI\Logs\KSC_SIP_Agent_1_Bac\Archive\*.*" "\\usmoksc5app55"\\usmoksc5app55\logs\usmoksc5app10\%dir%\COPYLOG_%dir%.txt" 
xcopy /s /c /y "D:\GCTI\Logs\KSC_SIP_Agent_1_Bac\Archive\*.*" "\\usmoksc5app55\logs\usmoksc5app10\%dir%\" 

Open in new window

0
 

Author Comment

by:charlespliler
ID: 35087020
I just need the output log file to be named according to date and time it is created instead of log.log as file name, I need 3/9/11 13:20.log
0
 
LVL 2

Expert Comment

by:cefranklin
ID: 35087207
First off, you cannot use a "/" or ":" in file or folder names...
Second, use the %date:/=-% for the date and the %T::=%

%date:/=-% %T::=%.log

Also, I had an error in the line for your script:

xcopy /L "D:\GCTI\Logs\KSC_SIP_Agent_1_Bac\Archive\*.*" > "\\usmoksc5app55"\\usmoksc5app55\logs\usmoksc5app10\%dir%\%date:/=-% %T::=%.log"
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 

Author Comment

by:charlespliler
ID: 35087480
Here is the script with the correct folder names etc, with the additions you gave me. I get a "network Path not Found error for the log creation but the file copy works just like it used to. Ideas???

@echo off
set T=%time:~0,5%
set dir=%date:/=-% %T::=-%
echo The target folder is "%dir%".
xcopy /L "D:\GCTI\Logs\*.*" >  "\\usmoksc5app55"\\usmoksc5app55\logs\usmoksc5app20\%dir%\%date:/=-% %T::=%.log"
 
xcopy /s /c /y "D:\GCTI\Logs\*.*" "\\usmoksc5app55\logs\usmoksc5app20\%dir%\"
0
 
LVL 2

Expert Comment

by:cefranklin
ID: 35087518
Your script is wrong... you have "\\usmoksc5app55 twice
0
 
LVL 2

Expert Comment

by:cefranklin
ID: 35087524
xcopy /L "D:\GCTI\Logs\*.*" >  "\\usmoksc5app55"\\usmoksc5app55\logs\usmoksc5app20\%dir%\%date:/=-% %T::=%.log"

should be

xcopy /L "D:\GCTI\Logs\*.*" >  "\\usmoksc5app55\logs\usmoksc5app20\%dir%\%date:/=-% %T::=%.log"
0
 

Author Comment

by:charlespliler
ID: 35087833
I copied it exactly as you posted but it says: The system can not find the path specified
0
 
LVL 2

Accepted Solution

by:
cefranklin earned 250 total points
ID: 35087876
Uhh, are you making the dir first?  I think the xcopy /s /c /y actually makes the dir but, the /L doesn't?

Try adding mkdir "\\usmoksc5app55\logs\usmoksc5app20\%dir%" before the xcopy /L

0
 

Author Closing Comment

by:charlespliler
ID: 35088024
That was it, no Directory to create the .log in. Thank you so much!!!!
0
 
LVL 2

Expert Comment

by:cefranklin
ID: 35088049
Glad I could help.
0
 
LVL 26

Expert Comment

by:pony10us
ID: 35088229
You might want to put an "IF NOT EXIST" in front of the "MKDIR ..." for safety reasons. That way if it does exist it won't try to create it but if it doesn't then it will.

IF NOT EXIST "\\usmoksc5app55\logs\usmoksc5app20\%dir%" MKDIR "\\usmoksc5app55\logs\usmoksc5app20\%dir%"

Just an afterthought.

:)
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

VALIDATING DATES One method of validating dates is to jam the date into the DATE command and see if it accepts it by examining the system's errorlevel value. A non-zero result indicates failure. A typical example might look something like the fol…
YESTERDAY YESTERDAY.BAT is inspired by a previous article I wrote entitled: TOMORROW.BAT (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html). The crux of this batch f…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

840 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