Batch Files and Task Scheduler

mrc73

Member
Sep 21, 2001
114
0
0
I want to use task scheduler in Windows XP to backup my quickbooks file each week. I created a batch file to actually copy the file, but I want to know if there is a way to change the name each time without having to create 52 bacth files. For instance, I want to copy the quick books data file from one hard drive to another, using one batch file, but name it backup ##-##-## (where ##-##-## would be that date I copied it, i.e. backup 2-1-03.qbb). Does anyone know if there is a way to do this?

Thanks.
 

TheDiggler

Senior member
Dec 23, 2002
695
0
0
1: Create a text file called createBU_FILENAMEscript.vbs and populate it as follows:
==================================================================
Dim curMonth, curDay, curYear, curDate
curMonth = Month(Now)
curDay = Day(Now)
curYear = Year(Now)
curDate = curMonth & "-" & curDay & "-" & curYear

Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
Rem ******************************************************************
Rem * In the "Set outFile =" line below, change "setBU_FILENAME.bat" to
Rem * be the FULLY QUALIFIED PATH & FILENAME of created/updated file!
Rem ******************************************************************

Set outFile = fso.CreateTextFile("setBU_FILENAME.bat")
outFile.WriteLine "set BU_FILENAME=backup " & curDate & ".qbb"
outFile.Close


2: In your BACKUP JOB BATCH FILE, add the following lines wherever you deem it appropriate:
==========================================================================
cscript.exe /b <path>/createBU_FILENAMEscript.vbs
call <path>/setBU_FILENAME.bat

Note 1: If you run AntiVirus Software you may receive a warning about running the .vbs script. You have the source code, you can see what it does. It simply creates a batch file called setBU_FILENAME.bat. You'll need to configure your AntiVirus Software to ALWAYS ALLOW THIS SCRIPT TO RUN.

Note 2: Replace "<path>" with the FULL PATH of where these files are located.

Note 3: After the "call <path>/setBU_FILENAME.bat" statement has been executed in YOUR CURRENT BACKUP JOB BATCH FILE, the environment variable BU_FILENAME will exist in your current BACKUP JOB BATCH FILE'S ENVIRONMENT. That environment variable is in the format: "backup MM-DD-YYYY.qbb"

Enjoy