windows-nt/Source/XPSP1/NT/admin/services/sched/test/jt/jt.rc
2020-09-26 16:20:57 +08:00

1178 lines
31 KiB
Plaintext

//+-------------------------------------------------------------------------
//
// 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