В версии DSS 1.62 от Саймана всё ещё содержится этот самый SYSTEM.EXE (я сверил MD5) и я планирую его расширить в соответствии с
планом Вот какие команды поддерживаются на данный момент:
PAUSE (только в BAT)
REM (только в BAT)
CD и CHDIR - смена текущего каталога
CLS - очистка экрана (Василий Иванов добавил опциональный параметр - цвет)
DATE - получение и установка текущей даты (надо поддержать стандартный досовский формат mm-dd-yyyy наряду с теперешним dd.mm.yyyy)
DEL - удаление файла
DIR - вывод содержимого текущего каталога (расширена Василием)
ECHO - вывод текстового сообщения на экран, а также On/Off
ERASE - алиас DEL
EXIT - выход из командного процессора
HELP - вывод списка поддерживаемых команд (захардкодено - надо бы чтобы выводилось по факту что есть)
MD и MKDIR - создание директория
PATH - вывод содержимого переменной окружения PATH
REN и RENAME - переименование файла
RD и RMDIR - удаление директория
SET - вывод всех переменных окружения или установка нового значения переменной по имени
TIME - получение и установка текущего времени
VERSION и VER - вывод версии DSS
Я планирую добавить к этому COPY, которая на данный момент является внешней командой, и возможно даже с опциями, повторяющими MS-DOS:
/Y - всегда отвечать ДА если происходит копирование поверх существующего файла;
/V - произвести верификацию файла после копирования (это сейчас важно).
Также планирую добавить алиасы для некоторых существующих команд, чтобы сымитировать "unix experience"
LS для DIR
CP для COPY
RM для DEL
Далее надо будет подумать над добавлением MV и MOVE
Наверное TYPE (и его алиас CAT) нужна будет и может быть даже MORE
В будущем поддержку батников надо будет довести до приемлиемого уровня (CALL, FOR, GOTO, IF)
По ходу включения функционала динамических библиотек
LIBMAN скорее всего придётся добавить команды специфические для либмана - например:
LL и LIBS - может выводить список загруженных библиотек с ID и reference-counter-ами
RL и RMLIB - может удалять библиотеку по ID (например приложение забыло удалить её при выходе)
Ну и так как версия SYSTEM.EXE может отличаться от версии SYSTEM.DOS можно добавить команду вывода версии шелла с датой сборки и списком авторов и назвать её скажем CREDITS