//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation, 1992 - 1994.
//
//  File:       jt.rc
//
//  Contents:   Main resource definition file
//
//  History:    01-02-96   DavidMun   Created
//
//  Notes:      See Notes at the start of help.cxx for instructions on
//              adding help for a new command.
//
//              When adding or editing strings in the RCDATA blocks,
//              remember that each string must be explicitly null
//              terminated, and that the DisplayHelp() function in help.cxx
//              expects to find an empty string ("\0") at the end of the
//              RCDATA block.
//
//--------------------------------------------------------------------------

#include <windows.h>
#include <ntverp.h>

#define VER_FILETYPE              VFT_APP
#define VER_FILESUBTYPE           VFT2_UNKNOWN
#define VER_FILEDESCRIPTION_STR   "Job Test"
#define VER_INTERNALNAME_STR      "jt\0"
#define VER_ORIGINALFILENAME_STR  "jt.exe"

#include <common.ver>

#include "resource.h"


RC_NOTIMPL RCDATA
BEGIN
"This function is not yet implemented.\n\0"
"\0"
END


RC_ABORT RCDATA
BEGIN
"Command:\n"
"\n"
"   /ABJ - abort task\n"
//"   /ABQ - abort queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Invoke the Abort command on the task or queue.\n"
"    Invoke the Abort command on the task.\n"
"\n"
"Examples:\n"
"\n"
"   /RJ /ABJ\n"
"       - runs a task, then aborts it\n\0"
"\0"
END


RC_ATSIGN RCDATA
BEGIN
"Command:\n"
"\n"
"   @ <file>\n"
"\n"
"Purpose:\n"
"\n"
"    Read commands from a file.\n"
"\n"
"Arguments:\n"
"\n"
"    <file> - name of file from which to read commands.\n"
"\n"
"Remarks:\n"
"\n"
"    Blank lines and all characters following semicolons are ignored.\n"
"\n"
"    Environment variables are expanded (just like batch files).\n"
"\n"
"    Recursion is allowed.\n"
"\n"
"Examples:\n"
"\n"
"   @script\n\0"
"\0"
END


//
// Resource Kit version does not contain a SAGE conversion entry point
//

#ifndef RES_KIT
RC_CONVERTSAGE RCDATA
BEGIN
"Command:\n"
"\n"
"   /CSAGE\n"
"\n"
"Purpose:\n"
"\n"
"    Convert all SAGE tasks to task scheduler tasks.\n"
"\n"
"Remarks:\n"
"\n"
"    This command is only available in versions of JT built for Win9x and\n"
"    running on Win9x.\n"
"\n"
"    This copy of JT was built for %s.\n"
"\n"
"Examples:\n"
"\n"
"   /csage\n\0"
"\0"
END

#endif // RES_KIT not defined

RC_TRIGPROPS RCDATA
BEGIN
"    The property list has the form <propname> = <value>...\n"
"\n"
"    The trigger properties and form of their values:\n"
"\n"
"    StartDate = <date>\n"
"    EndDate = <date>\n"
"    StartTime = <time>\n"
"    MinutesDuration = n\n"
"    MinutesInterval = n\n"
"    HasEndDate = {1|0}\n"
"    KillAtDuration = {1|0}\n"
"    Disabled = {1|0}\n"
"    Type = {Once|Daily|Weekly|MonthlyDate|MonthlyDOW|OnIdle|AtStartup|AtLogon}\n"
"    TypeArguments = <type-args-list>\n"
"\n"
"    <date>           - { m/d/y | TODAY }\n"
"    <time>           - { h:m | NOW }\n"
"    <type-args-list> - see below\n"
"\n"
"    Note that NOW is actually %u seconds in the future so it can be used to\n"
"    create triggers that will fire soon.\n"
"\n"
"\n"
"    The following table lists the forms of the <type-args-list> property\n"
"    value for each of the trigger types:\n"
"\n"
"    Trigger       Argument List        Argument meanings\n"
"    Type          Format\n"
"    -----------   ------------         ----------------------------\n"
"    DAILY         n                    DaysInterval\n"
"    WEEKLY        n, <DOW>             WeeksInterval, DaysOfTheWeek\n"
"    MONTHLYDATE   <DOM>, <months>      DaysOfTheMonth, Months\n"
"    MONTHLYDOW    n, <DOW>, <months>   Week, DaysOfTheWeek, Months\n"
"    ONCE                               (no args)\n"
"    ONIDLE                             (no args)\n"
"    ATSTARTUP                          (no args)\n"
"    ATLOGON                            (no args)\n"
"\n"
"    <DOW> is a string with one letter per weekday.  To specify the task\n"
"    is to run on every day, use the string UMTWRFA.  To specify no days\n"
"    use a period.\n"
"\n"
"    <DOM> is a comma-separated list of day numbers and ranges.  Some examples:\n"
"           1-31\n"
"           10\n"
"           20,21,22\n"
"           1,3,5,7-10\n"
"           2-8,20,12\n"
"\n"
"    <months> is a string containing three letter abbreviations for months.\n"
"    For all months, use: JanFebMarAprMayJunJulAugSepOctNovDec (case and order\n"
"    are not significant).\n"
"\n"
"    The trigger type must be specified before the type arguments, otherwise\n"
"    properties may appear in any order.  Case, whitespace, and leading zeros\n"
"    are not significant.\n\0"
"\0"
END


RC_CREATETRIGGER1 RCDATA
BEGIN
"Command:\n"
"\n"
"   /CTJ [<props>] - create trigger in task\n"
//"   /CTQ [<props>] - create trigger in queue\n"
"\n"
"Purpose:\n"
"\n"
"    Create a new trigger.\n"
"\n"
"Arguments:\n"
"\n"
"    [<props>] - Optional list of trigger properties.\n"
"\n"
"Remarks:\n"
"\n\0"
"\0"
END


RC_CREATETRIGGER2 RCDATA
BEGIN
"\n"
"Examples:\n"
"\n"
"    /ctj\n"
"      - creates a trigger with default values\n"
"\n"
"    /ctj StartTime=13:40 StartDate=3/4/1996 type=weekly typearguments = 1,mwf\n\0"
"\0"
END


RC_DELETETRIGGER RCDATA
BEGIN
"Command:\n"
"\n"
"    /DTJ [<id>] - delete trigger <id> (default 0) from task\n"
//"  * /DTQ [<id>] - delete trigger <id> (default 0) from queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Delete a single trigger from task or queue.\n"
"    Delete a single trigger from task.\n"
"\n"
"Arguments:\n"
"\n"
"    [<id>] - 0-based index of trigger to delete.  If omitted, trigger 0\n"
"             will be deleted.\n"
"\n"
"Examples:\n"
"\n"
"    /dtj 3\n\0"
"\0"
END

//
// Resource Kit version does not contain an entry point to bring up prop sheets
//

#ifndef RES_KIT
RC_EDITJOB RCDATA
BEGIN
"Command:\n"
"\n"
"  /EJ [<pageno> [T|F]]         - edit task\n"
//"* /EJQ <name> [<pageno> [T|F]] - edit task <name> in queue\n"
"\n"
"Purpose:\n"
"\n"
"    Invoke the Edit task UI.\n"
"\n"
"Arguments:\n"
"\n"
"    <pageno> - if omitted, the entire property sheet is presented.  Otherwise\n"
"               only the specified (zero-based) page is displayed.\n"
"    [T|F]    - if page number is specified, may also be specified as\n"
"               persist-changes argument of IProvideTaskPage::GetPage\n"
//"    <name>   - name of task in queue\n"
"\n"
"Remarks:\n"
"\n"
"    The [T|F] argument is interpreted as TRUE if it starts with a 't' (case\n"
"    insensitive) and false otherwise.  If omitted, it defaults to TRUE.\n"
"\n"
"    If specified as false, this argument should prevent the property sheet\n"
"    code from persisting changes when the user selects Apply or OK.  Any\n"
//"    changes the user made will have been made to the in-memory task or\n"
"    changes the user made will have been made to the in-memory task\n"
//"    queue object, however, which should be marked as dirty.\n"
"    object, however, which should be marked as dirty.\n"
"\n"
//"    Remember that JT will automatically save the task or queue object if it\n"
"    Remember that JT will automatically save the task object if it\n"
"    is marked as dirty, except when executing the /LJ (or /LQ) command.\n"
"\n"
"Examples:\n"
//"\n"
//"    /ejq atask\n"
//"       - edit the task 'atask' in the in-memory queue object\n"
"\n"
"    /ej\n"
"       - edit the task object\n"
"\n"
"    /ej 1\n"
"       - open the schedule page of the task property sheet\n\0"
//"\n"
//"    /ejq atask 0 f\n"
//"       - open the task page of the task property sheet for task atask in the\n"
//"         in-memory queue object, and tell the property sheet not to\n"
//"         automatically persist changes\n\0"
"\0"
END


//
// Resource Kit version does not permit enumerator manipulation
//

RC_ENUMCLONE RCDATA
BEGIN
"Command:\n"
"\n"
"  /ENC <id1> <id2> - enumerator clone <id1> from <id2>\n"
"\n"
"Purpose:\n"
"\n"
"    Fill enumerator slot <id1> with a clone of the enumerator in slot <id2>.\n"
"\n"
"Arguments:\n"
"\n"
"    <id1> - slot number of new enumerator\n"
"    <id2> - slot number of enumerator to copy\n"
"\n"
"Remarks:\n"
"\n"
"    If slot <id1> is not empty, its enumerator will be released automatically.\n"
"    See help for the /SCE command for an explanation of enumerator slots.\n"
"\n"
"Examples:\n"
"\n"
"    /enc 0 1\n"
"       - clone the enumerator in slot 1 into slot 0\n\0"
"\0"
END

//
// Resource Kit version does not permit enumerator manipulation
//

RC_ENUMNEXT RCDATA
BEGIN
"Command:\n"
"\n"
"  /ENN <id> <n> - enumerate next <n> items\n"
"\n"
"Purpose:\n"
"\n"
//"    Use enumerator in slot <id> to display the next <n> task/queue objects\n"
"    Use enumerator in slot <id> to display the next <n> task objects\n"
"    in the tasks folder.\n"
"\n"
"Arguments:\n"
"\n"
"    <id> - slot number of enumerator to use\n"
"    <n>  - maximum number of items to enumerate\n"
"\n"
"Remarks:\n"
"\n"
"    This command displays an error if slot <id> is empty.\n"
"    <n> is the <celt> argument for IEnumtasks::Next.\n"
"    See help for the /SCE command for an explanation of enumerator slots.\n"
"\n"
"Examples:\n"
"\n"
"    /enn 1 3\n"
"       - use enumerator in slot 1 to display the next three items.\n\0"
"\0"
END

//
// Resource Kit version does not permit enumerator manipulation
//

RC_ENUMRESET RCDATA
BEGIN
"Command:\n"
"\n"
"  /ENR <id> - enumerator reset\n"
"\n"
"Purpose:\n"
"\n"
"    Reset the enumerator in slot <id>.\n"
"\n"
"Arguments:\n"
"\n"
"    <id> - slot number of enumerator to reset\n"
"\n"
"Remarks:\n"
"\n"
"    This command displays an error if slot <id> is empty.\n"
"    See help for the /SCE command for an explanation of enumerator slots.\n"
"\n"
"Examples:\n"
"\n"
"    /sce 1 /enn 1 3 /enr 1 /enn 1 3\n"
"       - create an enumerator in slot 1, enumerate the first three items,\n"
"         then reset it and enumerate the first three items again.\n\0"
"\0"
END

//
// Resource Kit version does not permit enumerator manipulation
//

RC_ENUMSKIP RCDATA
BEGIN
"Command:\n"
"\n"
"  /ENS <id> <n> - enumerator skip forward by <n>\n"
"\n"
"Purpose:\n"
"\n"
"    Skip forward by <n> items on enumerator in slot <id>.\n"
"\n"
"Arguments:\n"
"\n"
"    <id> - slot number of enumerator to perform skip\n"
//"    <n>  - number of task/queue objects to skip\n"
"    <n>  - number of task objects to skip\n"
"\n"
"Remarks:\n"
"\n"
"    This command displays an error if slot <id> is empty.\n"
"    See help for the /SCE command for an explanation of enumerator slots.\n"
"\n"
"Examples:\n"
"\n"
"    /enr 0 /enn 0 1 /ens 0 1 /enn 0 1\n"
"       - reset the enumerator in slot 0, enumerate the first item,\n"
"         skip the second item, and enumerate the third item.\n\0"
"\0"
END

//
// Resource Kit version does not permit use of objects other than TASKS,
//      which removes the need for this function (also, Queues are NYI as of NT5)
//

RC_ISJOBORQUEUE RCDATA
BEGIN
"Command:\n"
"\n"
//"    /ISJQ <file> - invokes IsTask and IsQueue methods on <file>\n"
"    /ISJQ <file> - invokes IsTask method on <file>\n"
"\n"
"Purpose:\n"
"\n"
//"    Ask the task scheduler code whether a given file is a task or a queue\n"
"    Ask the task scheduler code whether a given file is a task \n"
"    object.\n"
"\n"
"Arguments:\n"
"\n"
"    <file> - file to check.\n"
"\n"
"Remarks:\n"
"\n"
//"    Errors returned by the IsTask and IsQueue methods are displayed but are\n"
"    Errors returned by the IsTask method are displayed but are\n"
"    not considered an error in this command.  This allows you to specify\n"
"    a number of invalid filenames in a single script, which would otherwise\n"
"    terminate after the first /ISJQ to return an error.\n"
"\n"
"Examples:\n"
"\n"
"   /isjq my_task.job\n"
//"      - displays the results of calling Istask and IsQueue methods with the\n"
"      - displays the results of calling the IsTask method with the\n"
"        file my_task.job.\n\0"
"\0"
END

#endif // RES_KIT not defined

RC_LOAD RCDATA
BEGIN
"Command:\n"
"\n"
"    /LJ <file> - load task object from <file>\n"
//"  * /LQ <file> - load queue object from <file>\n"
"\n"
"Purpose:\n"
"\n"
//"    Load a task or queue file.\n"
"    Load a task file.\n"
"\n"
"Arguments:\n"
"\n"
"    <file> - file to load.\n"
"\n"
"Remarks:\n"
"\n"
"    JT acts like notepad.exe, in that when it starts it creates a blank task\n"
"    object, and all commands operate on that object.  You can fill that blank\n"
"    object by loading a file from disk, or by putting data into it using the\n"
"    /SJ (set task) command.\n"
"\n"
"    Every Save command (/SVJ) is actually a Save As.\n"
"\n"
"    Just before JT exits, it checks to see if the task object is dirty.  If a\n"
"    name has been associated with it by a Load or Save command, it will be\n"
"    saved automatically.\n"
"\n"
"    The task object is *not* automatically saved before being loaded if it is\n"
"    dirty.\n"
"\n"
"    See also the /SAC command.\n"
"\n"
"Examples:\n"
"\n"
"    /lj mytask.job /pj\n"
"       - load mytask.job into the in-memory task object, then print all its\n"
"          properties.\n\0"
"\0"
END


RC_PRINT RCDATA
BEGIN
"Command:\n"
"\n"
"    /PJ - print all properties of task\n"
//"  * /PQ - print all properties of queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Print properties and triggers of task or queue.\n"
"    Print properties and triggers of task.\n"
"\n"
"Remarks:\n"
"\n"
"      To print only a single trigger, use PTJ.  To print only a \n"
"      trigger string, use PSJ.\n"
//"    To print only a single trigger, use PTJ or PTQ.  To print only a\n"
//"    trigger string, use PSJ or PSQ.\n"
"\n"
"Examples:\n"
"\n"
"    /pj\n\0"
"\0"
END


RC_PRINTRUNTIME RCDATA
BEGIN
"Command:\n"
"\n"
"    /PRJ [<n>] - print next <n> or today's run times of task\n"
//"  * /PRQ [<n>] - print next <n> or today's run times of queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Print next run times of task or queue.\n"
"    Print next run times of task.\n"
"\n"
"Arguments:\n"
"\n"
"    <n> - number of run times to print.  If omitted, print run times from\n"
"          now till the end of today\n"
"\n"
"Examples:\n"
"\n"
"    /prj\n"
"      - print remaining run times for today\n"
"\n"
"    /prq 4\n"
"      - print next 4 run times\n\0"
"\0"
END


RC_PRINTSTRING RCDATA
BEGIN
"Command:\n"
"\n"
"    /PSJ [<id>] - print trigger strings of <id> or all in task\n"
//"  * /PSQ [<id>] - print trigger strings of <id> or all in queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Print one or all trigger strings of task or queue.\n"
"    Print one or all trigger strings of task.\n"
"\n"
"Arguments:\n"
"\n"
"    [<id>] - 0-based index of trigger to print string for.  If omitted,\n"
"             print all trigger strings.\n"
"\n"
"Examples:\n"
"\n"
"    /psj\n"
"      - print all trigger strings\n"
"\n"
"    /psq 4\n"
"      - print string for trigger 4\n\0"
"\0"
END


RC_PRINTTRIGGER RCDATA
BEGIN
"Command:\n"
"\n"
"  /PTJ [<id>] - print trigger props of <id> or all in task\n"
//"* /PTQ [<id>] - print trigger props of <id> or all in queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Print the properties of one or all triggers of task or queue.\n"
"    Print the properties of one or all triggers of task.\n"
"\n"
"Arguments:\n"
"\n"
"    [<id>] - 0-based index of trigger to print.  If omitted,\n"
"             print all triggers.\n"
"\n"
"Examples:\n"
"\n"
"    /ptj\n"
"      - print properties of all triggers\n\0"
//"\n"
//"    /ptq 0\n"
//"      - print properties of first trigger of queue\n\0"
"\0"
END


RC_RUN RCDATA
BEGIN
"Command:\n"
"\n"
"  /RJ - run task\n"
//"* /RQ - run queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Run the task or queue.\n"
"    Run the task.\n"
"\n"
"Examples:\n"
"\n"
"    /lj mytask.job /rj\n"
"       - load mytask.job into the in-memory task object, then run it.\n\0"
"\0"
END


RC_SAVE RCDATA
BEGIN
"Command:\n"
"\n"
"    /SVJ [<file>] - save task to <file>\n"
//"*   /SVQ [<file>] - save queue to <file>\n"
"\n"
"Purpose:\n"
"\n"
//"    Write the task or queue to disk.\n"
"    Write the task to disk.\n"
"\n"
"Arguments:\n"
"\n"
"    <file> - file to save.  If omitted, saves to last file loaded or saved.\n"
"\n"
"Remarks:\n"
"\n"
//"    Any task or queue object which has an associated filename (because it's\n"
"    Any task object which has an associated filename (because it's\n"
//"    been used with the LJ/LQ, SACJ/SACQ, SNJ/SNQ, SCJ,SCQ commands) will\n"
"    been used with the LJ, SAJ, SNJ, SAC commands) will\n"
"    automatically be saved, if it has been modified, just before JT exits.\n"
"\n"
"    Therefore these save commands are most useful for doing a save as.\n"
"\n"
"Examples:\n"
"\n"
"    /sac a.job /svj b.job\n"
"       - load <tasks folder>\a.job into the in-memory task object, then save\n"
"          it to b.job in the current directory.\n\0"
"\0"
END


RC_ACTIVATE RCDATA
BEGIN
"Command:\n"
"\n"
//"    /SAC <file> - task or queue file to activate (load).\n"
"    /SAC <file> - task file to activate (load).\n"
"\n"
"Purpose:\n"
"\n"
//"    Load the specified task or queue object into the in-memory task or queue\n"
"    Load the specified task object into the in-memory task\n"
"    object.\n"
"\n"
"    If the in-memory object is dirty, it will be saved first.\n"
"\n"
"Arguments:\n"
"\n"
"    <file> - file to load.\n"
"\n"
"Examples:\n"
"\n"
"    /sac foo.job\n"
"       - load <tasks folder>\foo.job into the in-memory task object.\n"
"\n"
"    /sac bar\n"
//"       - load <tasks folder>\bar.job or <tasks folder>\bar.que into the\n"
"       - load <tasks folder>\bar.job into the\n"
//"         in-memory task or queue object.\n\0"
"         in-memory task object.\n\0"
"\0"
END


RC_ADD RCDATA
BEGIN
"Command:\n"
"\n"
"    /SAJ <file> - save in-memory task object in tasks\\<file>.\n"
//"    /SAQ <file> - save in-memory queue object in tasks\\<file>.\n"
"\n"
"Purpose:\n"
"\n"
//"    Save the in-memory task or queue object in the tasks folder.\n"
"    Save the in-memory task object in the tasks folder.\n"
"\n"
"Arguments:\n"
"\n"
"    <file> - filename to save.\n"
"\n"
"Remarks:\n"
"\n"
"    This command acts as a Save As operation.  Any changes made to the in-\n"
"    memory object after this command is executed will automatically be saved\n"
"    to <file> before JT exits.\n"
"\n"
"    The scheduler will return an error if tasks\\<file> exists.\n"
"\n"
"Examples:\n"
"\n"
"    /saj foo.job\n"
"       - save the in-memory task object in <tasks folder>\foo.job.\n\0"
//"\n"
//"    /saq barbe\n"
//"       - save the in-memory queue object in <tasks folder>\barbe.que.\n\0"
"\0"
END

#ifndef RES_KIT

//
// Resource Kit version does not permit manipulation of enumerators
//

RC_CREATEENUM RCDATA
BEGIN
"Command:\n"
"\n"
"  /SCE <id> - scheduler create enumerator in slot <id>=0..%u\n"
"\n"
"Purpose:\n"
"\n"
//"   Fill slot <id> with a new task/queue object enumerator.\n"
"   Fill slot <id> with a new task object enumerator.\n"
"\n"
"Arguments:\n"
"\n"
"    <id> - slot to fill with new enumerator.\n"
"\n"
"Remarks:\n"
"\n"
"    You must use this command to put an enumerator in a slot before you\n"
"    can use that slot with the /ENC (clone), /ENN (next), /ENR (reset), or\n"
"    /ENS (skip) commands.\n"
"\n"
"    There are %u slots, numbered 0-%u, which you can use.  If you specify\n"
"    a slot number that already contains an enumerator, that enumerator is\n"
"    released before the slot is filled with a new enumerator.\n"
"\n"
"    All enumerators you created with this command are automatically\n"
"    released before JT exits.\n"
"\n"
"Examples:\n"
"\n"
"    /sce 1\n"
"       - create a new enumerator in slot 1.\n\0"
"\0"
END

#endif // RES_KIT not defined


RC_DELETE RCDATA
BEGIN
"Command:\n"
"\n"
"    /SD <file> - delete tasks\\<file>.\n"
"\n"
"Purpose:\n"
"\n"
//"    Delete the specified task or queue object from the tasks folder.\n"
"    Delete the specified task object from the tasks folder.\n"
"\n"
"Arguments:\n"
"\n"
//"    <file> - filename of task or queue object to delete.\n"
"    <file> - filename of task object to delete.\n"
"\n"
"Examples:\n"
"\n"
"    /sd foo.job\n"
"       - delete <tasks folder>\foo.job.\n\0"
"\0"
END


RC_ENUM RCDATA
BEGIN
"Command:\n"
"\n"
//"    /SE [<n>] [P] - scheduler enum tasks/queues <n> at a time, [P]rint\n"
"    /SE [<n>] [P] - scheduler enum tasks <n> at a time, [P]rint\n"
"\n"
"Purpose:\n"
"\n"
//"    Enumerate all tasks/queues in the tasks folder, optionally printing all\n"
"    Enumerate all tasks in the tasks folder, optionally printing all\n"
"    the properties of each.\n"
"\n"
"Arguments:\n"
"\n"
"    [<n>] - optional value to use for celt in IEnumWorkItems::Next.\n"
"    [P]   - optional flag to make JT dump properties of enumerated objects.\n"
"\n"
"Remarks:\n"
"\n"
"    If the [P] flag is not specified, only the names of the enumerated\n"
"    objects are displayed.\n"
"\n"
"Examples:\n"
"\n"
"    /se\n"
"       - print the names of all objects in the tasks folder, one per line.\n"
"\n"
"    /se p\n"
"       - print all properties of all objects in the tasks folder\n"
"\n"
"    /se 2\n"
"       - print the names of all objects in the tasks folder, one per line.\n"
"         use 2 for the celt argument to IEnumWorkItems::Next.\n\0"
"\0"
END


RC_GETCREDENTIALS RCDATA
BEGIN
"Command:\n"
"\n"
"    /GC - get credentials (account name only)\n"
"\n"
"Purpose:\n"
"\n"
"    Print the credential account name\n"
"\n"
"Examples:\n"
"\n"
"    /gc\n"
"       - print the credential account name.\n\0"
"\0"
END


RC_GETMACHINE RCDATA
BEGIN
"Command:\n"
"\n"
"    /GM - get target machine\n"
"\n"
"Purpose:\n"
"\n"
"    Print the name of the currently targeted machine\n"
"\n"
"Remarks:\n"
"\n"
"    This should appear as \\\\machine-name.\n"
"    Note also that the target machine is not persisted across multiple runs of JT.\n"
"\n"
"Examples:\n"
"\n"
"    /gm\n"
"       - print the name of the current target of Scheduler commands.\n\0"
"\0"
END


RC_NEW RCDATA
BEGIN
"Command:\n"
"\n"
"    /SNJ <file> - create tasks\\<file> and load it into in-memory task object.\n"
//"    /SNQ <file> - create tasks\\<file> and load it into in-memory queue object.\n"
"\n"
"Purpose:\n"
"\n"
//"    Create a new, empty task or queue object in the tasks folder and load it\n"
"    Create a new, empty task object in the tasks folder and load it\n"
//"    into the in-memory task or queue object.\n"
"    into the in-memory task object.\n"
"\n"
"Arguments:\n"
"\n"
//"    <file> - filename of task or queue object to load.\n"
"    <file> - filename of task object to load.\n"
"\n"
"Remarks:\n"
"\n"
//"    CAUTION: the in-memory task or queue object is NOT SAVED before being\n"
"    CAUTION: the in-memory task object is NOT SAVED before being\n"
//"    replaced.  This allows you to test the behavior of the task or queue\n"
#ifndef RES_KIT
"    replaced.  This allows you to test the behavior of the task\n"
"    object when it is released while dirty.\n"
#else
"    replaced.\n"
#endif
"\n"
"Examples:\n"
"\n"
"    /ctj /snj foo.job\n"
"       - modify the in-memory task object, then create <tasks folder>\foo.job,\n"
"         and load it into the in-memory task object without first saving the\n"
"         existing in-memory object.\n\0"
//"\n"
//"    /snq barbe\n"
//"       - create <tasks folder>\barbe.que and load it into the in-memory queue\n"
//"         object.\n\0"
"\0"
END


RC_SETCREDENTIALS RCDATA
BEGIN
"Command:\n"
"\n"
"  /SC <new acct> <new pswd> - create/set credentials.\n"
"\n"
"Purpose:\n"
"\n"
"   Specify new or change existing task credentials.\n"
"\n"
"Arguments:\n"
"\n"
"    <new acct>  - new account name. Mandatory.\n"
"    <new pswd>  - new password. Specify the string \42\42 for a blank\n"
"                  password.\n"
"\n"
"Remarks:\n"
"    The password may also specified as NULL if the account name is set.\n"
"    NULL as a password indicates that the task should be run ONLY if\n"
"    the specified user is logged on at the time the task is set to\n"
"    execute.  Users may create tasks of this type only for themselves.\n"
"    Administrators may create them for any user.\n"
"\n"
"Examples:\n"
"\n"
"    /sc MYDOMAIN\\joeuser JoesPassword\n"
"       - Specify new credentials.\n\0"
"\0"
END


RC_SETJOB RCDATA
BEGIN
"Command:\n"
"\n"
"  /SJ <props> - set task's properties\n"
"\n"
"Purpose:\n"
"\n"
"    Change one or more properties on the in-memory task object.\n"
"\n"
"Arguments:\n"
"\n"
"    <props> - list of task properties.\n"
"\n"
"Remarks:\n"
"\n"
"    The property list has the form <propname> = <value>...\n"
"\n"
"    The task properties and the form of their values:\n"
"\n"
"    ApplicationName        = <path>\n"
"    Parameters             = <string>\n"
"    WorkingDirectory       = <path>\n"
"    Comment                = <string>\n"
"    Creator                = <string>\n"
"    Priority               = { Idle | Normal | High | Realtime }\n"
"    MaxRunTime             = <int> (in milliseconds)\n"
"    Idle                   = <int> <int> (wait & deadline, in minutes)\n"
#ifndef RES_KIT
"    Interactive            = { 1 | 0 }\n"
#endif
"    DontStartIfOnBatteries = { 1 | 0 }\n"
"    KillIfGoingOnBatteries = { 1 | 0 }\n"
"    RunOnlyIfLoggedOn      = { 1 | 0 }\n"
"    SystemRequired         = { 1 | 0 }\n"
"    DeleteWhenDone         = { 1 | 0 }\n"
"    Suspend                = { 1 | 0 }\n"
"    HaltOnError            = { 1 | 0 }\n"
"    StartOnlyIfIdle        = { 1 | 0 }\n"
"    KillOnIdleEnd          = { 1 | 0 }\n"
"    RestartOnIdleResume    = { 1 | 0 }\n"
"    Hidden                 = { 1 | 0 }\n"
"    TaskFlags              = <int> (in decimal)\n"
"\n"
"    <string> - must be surrounded by double quotes if it contains spaces\n"
"    <date>   - { m/d/y | TODAY }\n"
"    <int>    - any integer\n"
"\n"
"    Case is not significant (i.e., IDLE and Idle are both legal).\n"
"\n"
"Examples:\n"
"\n"
"   /sj command = notepad.exe Priority=idle DeleteWhenDone=1\n\0"
"\0"
END


RC_SETMACHINE RCDATA
BEGIN
"Command:\n"
"\n"
"    /SM [<machine>] - set machine (NULL = local machine if omitted)\n"
"\n"
"Purpose:\n"
"\n"
"    Retarget future ITaskScheduler methods at a remote or the local machine.\n"
"\n"
"Arguments:\n"
"\n"
"    [<machine>] - machine to target, in the form \\\\machine-name.\n"
"\n"
"Remarks:\n"
"\n"
"    If argument is omitted, command targets local machine.  The argument\n"
"    may also explicitly target the local machine.  Note that the\n"
"    machine choice is not persisted across invocations of JT.\n"
"\n"
"Examples:\n"
"\n"
"    /sm\n"
"       - target the local machine.\n"
"\n"
"    !sm bogus /gm\n"
"       - attempt to target a non-existent machine, then print currently\n"
"         targeted machine (to verify that it hasn't changed).\n\0"
"\0"
END


RC_SETTRIGGER1 RCDATA
BEGIN
"Command:\n"
"\n"
"  /STJ [id] <props> - set properties of trigger [id] on task\n"
//"  /STQ [id] <props> - set properties of trigger [id] on queue\n"
"\n"
"Purpose:\n"
"\n"
//"    Change one or more properties of a trigger in the in-memory task or queue\n"
"    Change one or more properties of a trigger in the in-memory task \n"
"    object.\n"
"\n"
"Arguments:\n"
"\n"
"    [id]    - trigger number.  If omitted, trigger 0 is modified.\n"
"    <props> - list of trigger properties.\n"
"\n"
"Remarks:\n"
"\n\0"
"\0"
END


RC_SETTRIGGER2 RCDATA
BEGIN
"\n"
"Examples:\n"
"    /stj enddate=today\n"
"       - set the end date of trigger 0 on the in-memory task object to today's\n"
"         date.\n\0"
//"\n"
//"    /stq 2 MinutesInterval = 20\n"
//"       - set the repetition interval on trigger 2 of the in-memory queue\n"
//"         object to 20 minutes.\n\0"
"\0"
END


RC_USAGE1 RCDATA
BEGIN
"Microsoft (R) Task Scheduler Command Line Utility\n"
"Copyright (C) Microsoft Corp 1995-1998. All rights reserved.\n"
"This executable compiled %s for %s.\n"
"\n"
"usage: JT {[options]|[@commandfile]}\n"
"\n"
"options:\n"
"\n"
"  @ <file>           - parse file\n"
"  /? [cmd]           - display help on [cmd], e.g. /? abj\n"
"  !<cmd>             - don't stop if command returns error\n"
"  /ABJ               - abort task\n"
//"  /ABQ               - abort queue\n"
//"  /AJQ               - add task to queue\n"
#ifndef RES_KIT
"  /CSAGE             - convert SAGE tasks to tasks (Win9x only)\n"
#endif
"  /CTJ [<props>]     - create trigger in task\n"
//"  /CTQ [<props>]     - create trigger in queue\n"
"  /DTJ [<id>]        - delete trigger <id> (default 0) from task\n"
//"  /DTQ [<id>]        - delete trigger <id> (default 0) from queue\n"
#ifndef RES_KIT
"  /EJ [<n> [T|F]]    - edit task page <n>, persist changes T/f\n"
//"  /EJQ <a>[<n>[T|F]] - edit task with name <a> in queue\n"
"  /ENC <id1> <id2>   - enumerator clone <id1> from <id2> (see SCE command)\n"
"  /ENN <id> <n>      - enumerate next <n> items (see SCE command)\n"
"  /ENR <id>          - enumerator reset (see SCE command)\n"
"  /ENS <id> <n>      - enumerator skip forward by <n> (see SCE command)\n"
#endif
"  /GC                - get credential account name\n"
"  /GM                - get target machine\n"
//"  /ISJQ <file>       - test <file> to see if it's a task or a queue\n"
#ifndef RES_KIT
"  /ISJQ <file>       - test <file> to see if it is a task\n"
#endif
"  /LJ <file>         - load task object from <file>\n"
//"  /LQ <file>         - load queue object from <file>\n"
"  /PJ                - print all properties of task\n"
//"  /PQ                - print all properties of queue\n"
"  /PRJ [<n>]         - print next <n> or today's remaining run times of task\n\0"
"\0"
END


RC_USAGE2 RCDATA
BEGIN
//"  /PRQ [<n>]         - print next <n> or today's remaining run times of queue\n"
"  /PSJ [<id>]        - print trigger strings of <id> or all in task\n"
//"  /PSQ [<id>]        - print trigger strings of <id> or all in queue\n"
"  /PTJ [<id>]        - print trigger props of <id> or all in task\n"
//"  /PTQ [<id>]        - print trigger props of <id> or all in queue\n"
"  /RJ                - run task\n"
//"  /RQ                - run queue\n"
//"  /RMJQ <name>       - remove task from queue\n"
//"  /SAC <file>        - scheduler activate task/queue (load tasks\\<file>)\n"
"  /SAC <file>        - scheduler activate task (load tasks\\<file>)\n"
"  /SAJ <file>        - scheduler add task (save as tasks\\<file>)\n"
//"  /SAQ <file>        - scheduler add queue (save as tasks\\<file>)\n"
"  /SC <acct> <pwd>   - set task credentials\n"
#ifndef RES_KIT
"  /SCE <id>          - scheduler create enumerator in slot <id>=0..%u\n"
#endif
//"  /SD <file>         - scheduler delete task/queue (delete tasks\\<file>)\n"
"  /SD <file>         - scheduler delete task (delete tasks\\<file>)\n"
//"  /SE [<n>] [P]      - scheduler enum tasks/queues <n> at a time, [P]rint\n"
"  /SE [<n>] [P]      - scheduler enum tasks <n> at a time, [P]rint\n"
"  /SJ <props>        - set task's properties\n"
"  /SM [<machine>]    - set machine (NULL = local machine if omitted)\n"
//"  /SQ <props>        - set queue properties\n"
"  /SNJ <file>        - scheduler new task (replaces in-memory task object)\n"
//"  /SNQ <file>        - scheduler new queue (replaces in-memory queue object)\n"
"  /STJ [id] props    - set properties of task trigger <id> or 0\n"
//"  /STQ [id] props    - set properties of queue trigger <id> or 0\n"
"  /SVJ [<file>]      - save task to <file>\n"
//"  /SVQ [<file>]      - save queue to <file>\n"
"\n"
"   For detailed help use: JT /? <command-name>, e.g. JT /? LJ.\n\0"
"\0"
END