/* * CMDTABLE.C - table of internal commands. * * * History: * * 16 Jul 1998 (Hans B Pufal) * started. * New file to keep the internal command table. I plan on * getting rid of the table real soon now and replacing it * with a dynamic mechanism. * * 27 Jul 1998 John P. Price * added config.h include * * 21-Jan-1999 (Eric Kohl) * Unicode ready! */ #include "precomp.h" /* * A list of all the internal commands, associating their command names * to the functions to process them. */ COMMAND cmds[] = { {_T("?"), 0, CommandShowCommands}, #ifdef INCLUDE_CMD_ACTIVATE {_T("activate"), 0, CommandActivate}, #endif #ifdef FEATURE_ALIASES {_T("alias"), 0, CommandAlias}, #endif #ifdef INCLUDE_CMD_ASSOC {_T("assoc"), 0, CommandAssoc}, #endif #ifdef INCLUDE_CMD_BEEP {_T("beep"), 0, cmd_beep}, #endif {_T("call"), CMD_BATCHONLY, cmd_call}, #ifdef INCLUDE_CMD_CHDIR {_T("cd"), CMD_SPECIAL, cmd_chdir}, {_T("chdir"), CMD_SPECIAL, cmd_chdir}, #endif #ifdef INCLUDE_CMD_CHOICE {_T("choice"), 0, CommandChoice}, #endif #ifdef INCLUDE_CMD_CLS {_T("cls"), 0, cmd_cls}, #endif #ifdef INCLUDE_CMD_COLOR {_T("color"), 0, CommandColor}, #endif #ifdef INCLUDE_CMD_COPY {_T("copy"), 0, cmd_copy}, #endif #ifdef INCLUDE_CMD_CTTY {_T("ctty"), 0, cmd_ctty}, #endif #ifdef INCLUDE_CMD_DATE {_T("date"), 0, cmd_date}, #endif #ifdef INCLUDE_CMD_DEL {_T("del"), 0, CommandDelete}, {_T("delete"), 0, CommandDelete}, #endif #ifdef INCLUDE_CMD_DELAY {_T("delay"), 0, CommandDelay}, #endif #ifdef INCLUDE_CMD_DIR {_T("dir"), CMD_SPECIAL, CommandDir}, #endif #ifdef FEATURE_DIRECTORY_STACK {_T("dirs"), 0, CommandDirs}, #endif {_T("echo"), CMD_SPECIAL, CommandEcho}, {_T("echos"), 0, CommandEchos}, {_T("echoerr"), CMD_SPECIAL, CommandEchoerr}, {_T("echoserr"), 0, CommandEchoserr}, {_T("endlocal"), 0, cmd_endlocal}, #ifdef INCLUDE_CMD_DEL {_T("erase"), 0, CommandDelete}, #endif {_T("exit"), 0, CommandExit}, {_T("for"), 0, cmd_for}, #ifdef INCLUDE_CMD_FREE {_T("free"), 0, CommandFree}, #endif {_T("goto"), CMD_BATCHONLY, cmd_goto}, #ifdef FEATURE_HISTORY {_T("history"), 0, CommandHistory}, #endif {_T("if"), 0, cmd_if}, #ifdef INCLUDE_CMD_MEMORY {_T("memory"), 0, CommandMemory}, #endif #ifdef INCLUDE_CMD_MKDIR {_T("md"), CMD_SPECIAL, cmd_mkdir}, {_T("mkdir"), CMD_SPECIAL, cmd_mkdir}, #endif #ifdef INCLUDE_CMD_MKLINK {_T("mklink"), 0, cmd_mklink}, #endif #ifdef INCLUDE_CMD_MOVE {_T("move"), 0, cmd_move}, #endif #ifdef INCLUDE_CMD_MSGBOX {_T("msgbox"), 0, CommandMsgbox}, #endif #ifdef INCLUDE_CMD_PATH {_T("path"), 0, cmd_path}, #endif #ifdef INCLUDE_CMD_PAUSE {_T("pause"), 0, cmd_pause}, #endif #ifdef FEATURE_DIRECTORY_STACK {_T("popd"), 0, CommandPopd}, #endif #ifdef INCLUDE_CMD_PROMPT {_T("prompt"), 0, cmd_prompt}, #endif #ifdef FEATURE_DIRECTORY_STACK {_T("pushd"), 0, CommandPushd}, #endif #ifdef INCLUDE_CMD_RMDIR {_T("rd"), CMD_SPECIAL, cmd_rmdir}, {_T("rmdir"), CMD_SPECIAL, cmd_rmdir}, #endif #ifdef INCLUDE_CMD_REM {_T("rem"), 0, CommandRem}, #endif #ifdef INCLUDE_CMD_RENAME {_T("ren"), 0, cmd_rename}, {_T("rename"), 0, cmd_rename}, #endif #ifdef INCLUDE_CMD_REPLACE {_T("replace"), 0, cmd_replace}, #endif #ifdef INCLUDE_CMD_SCREEN {_T("screen"), 0, CommandScreen}, #endif #ifdef INCLUDE_CMD_SET {_T("set"), 0, cmd_set}, #endif {_T("setlocal"), 0, cmd_setlocal}, {_T("shift"), CMD_BATCHONLY, cmd_shift}, #ifdef INCLUDE_CMD_START {_T("start"), 0, cmd_start}, #endif #ifdef INCLUDE_CMD_TIME {_T("time"), 0, cmd_time}, #endif #ifdef INCLUDE_CMD_TIMER {_T("timer"), 0, CommandTimer}, #endif #ifdef INCLUDE_CMD_TITLE {_T("title"), 0, cmd_title}, #endif #ifdef INCLUDE_CMD_TYPE {_T("type"), 0, cmd_type}, #endif #ifdef INCLUDE_CMD_VER {_T("ver"), 0, cmd_ver}, #endif #ifdef INCLUDE_CMD_VERIFY {_T("verify"), 0, cmd_verify}, #endif #ifdef INCLUDE_CMD_VOL {_T("vol"), 0, cmd_vol}, #endif #ifdef INCLUDE_CMD_WINDOW {_T("window"), 0, CommandWindow}, #endif {NULL, 0, NULL} }; VOID PrintCommandList(VOID) { LPCOMMAND cmdptr; INT y; y = 0; cmdptr = cmds; while (cmdptr->name) { if (!(cmdptr->flags & CMD_HIDE)) { if (++y == 8) { ConOutPuts(cmdptr->name); ConOutChar(_T('\n')); y = 0; } else { ConOutPrintf (_T("%-10s"), cmdptr->name); } } cmdptr++; } if (y != 0) ConOutChar(_T('\n')); } /* EOF */