run a batch file as scheduled task - in vista

osaddictosaddict London, UK
edited September 2007 in Science & Tech
Hey everyone, if been searching high and low, and i cant remember the exact text required to run a batch file as a scheduled task...

For example i want to run backup.bat, which ill store in say L:\misc\backup.bat

I've run the batch file and it does exactly what i want - but now i want to automate it.

I played with this stuff a long time ago, ive googled for a while and i just cant fine the correct text!

Comments

  • edited September 2007
    set it up in the task scheduler. be sure to set up the schedule like so:

    "cmd /c Batchfilename.bat"

    or it wont execute properly.


    or, uninstall windows, install a *nix, and stick it in crontab lol


    edit:

    i forgot there's also the schtasks command. you have to have Task Scheduler running for this to work though, and i'm not 100% sure it works in vista.
    SCHTASKS
    
    Create, delete, edit, list, start or stop a scheduled task.
    Works on local or remote computers.
    
    Syntax:
    
       SCHTASKS /Create create_options
    
       SCHTASKS /Delete [/S system [/U username [/P password]]] /TN taskname [/F]
    
       SCHTASKS /Query  [/S system [/U username [/P password]]] [/FO format] [/NH] [/V]
    
       SCHTASKS /Run [/S system [/U username [/P password]]] /TN taskname
       SCHTASKS /End [/S system [/U username [/P password]]] /TN taskname
    
       SCHTASKS /Change [/S system [/U username [/P password]]] {[/RU username] [/RP password] [/TR taskrun]} /TN taskname
    
     create_options:
        [/S system                      #remote system (default is local)
        [/U username [/P password]]]    #submit job under this name
        [/RU username [/RP password]]   #run job under this name
        /SC schedule [/MO modifier]     #When to run, see below
        [/D day]                        #day = MON,TUE,WED,THU,FRI,SAT,SUN
        [/M months]                     #month=JAN,FEB,MAR,APR,MAY,JUN,JUL,AUG,SEP,OCT,NOV,DEC.
        [/I idletime]                   #1 - 999 minutes (ONIDLE task only)
        /TN taskname /TR taskrun        #Name and pathname for task
        /ST starttime                   #HH:MM:SS (24 hour)
        [/SD startdate] [/ED enddate]   # start and end date "dd/mm/yyyy"
    
     query_del_options:
        /F    Force delete, ignore warnings even if the task is currently runnning.
        /FO format  Output format: TABLE, LIST, CSV
        /NH   No header
        /V    Verbose output
    
    Notes:
    For MONTHLY schedules give the DAY as a number 1 - 31 (default=1)
    
    To prompt for the password, specify /RP * or /RP none
    
    The User Account under which the Schedule service runs may require specific file access permissions, user permissions and drive mappings.
    
    For the system account, /RU username can be written as "", "NT AUTHORITY\SYSTEM" or "SYSTEM", a Password is not required.
    
    /SC schedule  The schedule frequency.
    Valid schedules: MINUTE,HOURLY,DAILY,WEEKLY,MONTHLY, ONCE,ONSTART,ONLOGON,ONIDLE.
    
    /MO modifiers allow finer control:
    
        MINUTE:  1 - 1439 minutes.
        HOURLY:  1 - 23 hours.
        DAILY:   1 - 365 days.
        WEEKLY:  weeks 1 - 52.
        ONCE:    No modifiers.
        ONSTART: No modifiers.
        ONLOGON: No modifiers.
        ONIDLE:  No modifiers.
        MONTHLY: 1 - 12, or FIRST, SECOND, THIRD, FOURTH, LAST, LASTDAY.
    
    Task Scheduler options are stored in the registry
    
    HKLM\SOFTWARE\Microsoft\SchedulingAgent\
    
    Examples:
    
    Create a daily task to run at 11 pm
    
    SCHTASKS /Create /SC weekly /D MON,TUE,WED,THU,FRI /TN MyDailyBackup /ST 23:00:00 /TR c:\backup.cmd /RU MyDomain\MyLogin /RP MyPassword
    
    Delete the task above
    
    SCHTASKS /Delete /TN "MyDailyBackup" /f
    
  • osaddictosaddict London, UK
    edited September 2007
    I looked in to it further, and actually resorted to the help files, it seems to work if you literally just put in the file location of the batch file, as it specifies.

    I thought i had to use cscript or wscript etc like i had done before on xp, but this seems to work - i tested it out and it performed as expected!

    Thanks for the reply :)
Sign In or Register to comment.