@echo off :: these values must be defined here is not specified on the command line set backup_dir=d:\MBackups set backup_file=mps002 set config_file=mps_iqafis.bks :: configure date and time FOR /f "tokens=2-4 delims=/ " %%a in ('DATE/T') do SET sdate=%%c%%a%%b FOR /f "tokens=1-2 delims=: " %%a in ('TIME/T') do SET stime=%%a%%b if {%stime%} LEQ {999} set stime=0%stime% set datetime=%sdate%%stime% :: Check for command line argumets to override defaults above if {%1} NEQ {} ( if exist %1 ( set backup_dir=%1 ) ) if {%2} NEQ {} ( set backup_file=%2 ) if {%3} NEQ {} ( set config_file=%3 ) : Check to see is MS SQL Server is running and stop it before calling the backup FOR /f "tokens=1 delims=__ " %%a in ('net start ^| findstr MSSQLSERVER') do SET serverup=%%a if {%serverup%} NEQ {} ( net stop "SQLSERVERAGENT" net stop "MSSQLSERVER" || (echo "Could not stop SQL Server" & exit 1) call :backup net start "MSQLSERVER" net start "SQLSERVERAGENT" ) else ( call :backup net start "MSQLSERVER" net start "SQLSERVERAGENT" ) goto :EOF :backup :: the actual backup call %systemroot%\system32\ntbackup.exe backup "@%backup_dir%\%config_file%" /n "mps002.bkf created on %datetime%" /d "set created %datetime%" /v:yes /r:no /rs:no /hc:off /m normal /j "MPS002 Backup" /l:s /f "%backup_dir%\%backup_file%.bkf"