Files
reactos/base/shell/cmd
Hermès Bélusca-Maïto 6eb1cae348 [CMD] Fixes for Batch error execution control flow.
CORE-13713 CORE-13736

- In case execution of all batch contexts is stopped (by selecting "All"
  at the Ctrl-C/Ctrl-Break prompt), notify as well the CheckCtrlBreak()
  signal handler once there are no more batch contexts (this in effect
  resets the internal 'bLeaveAll' static flag in CheckCtrlBreak).
  This is an adaptation of the fix present in FreeCOM 1.5, first
  described in https://gcfl.net/FreeDOS/command.com/bugs074g.html .

- Introduce a ParseErrorEx() helper that sets the 'bParseError' flag and
  displays a customized syntax-error message, only for the first syntax
  error encountered. Implement ParseError() around the *Ex function.

- In batch mode, echo the original pre-parsed batch file line if a parse
  error has been encountered.

- When running a compound command - including IF, FOR, command blocks -,
  and that control flow is modified by any CALL/GOTO/EXIT command,
  detect this while running the compound command so as to stop it and go
  back to the main batch execution loop, that will then set up the actual
  new command to run.

- In GOTO, do not process any more parts of a compound command only when
  we have found a valid label.
2020-08-19 20:35:58 +02:00
..
2020-08-19 20:35:54 +02:00
2017-11-18 23:52:50 +01:00
2020-05-18 02:21:56 +02:00
2020-05-18 02:21:56 +02:00
2020-05-18 02:21:56 +02:00

ReactOS command line interpreter CMD
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The ReactOS command line interpreter CMD is derived from FreeCOM, the
FreeDOS command line interpreter.

We are shooting mainly to be just like 2000/XP cmd.exe.  They are very close and only a small number(none that i can recall off the top of my head, so maybe 0) differences have been found between those two.  It has been reported that ROS cmd.exe does not work on nt4 because of a missing api.  I'm hoping to fix this at some point.


Compiling
~~~~~~~~~
ROS cmd used to depend on __REACTOS__ to provide two different ways to build cmd.  There is still code left in it for this but...  The __REACTOS__ = 0 has not been develped, maintained.  And therefore it does not even compile anymore.  __REACTOS__ = 1 works fine on both windows(nt). and someday i plan to remove all the __REACTOS__ = 0.

Using rbuild you can compile cmd separately by "make cmd_install".  Also you can compile cmd using MSVC 6 and soon 7/8 hopefully.


Current Features
~~~~~~~~~~~~~~~~
 - environment handling with prompt and path support.
 - directory utilities.
 - command-line history with doskey-like features.
 - batch file processing.
 - input/output redirection and piping.
 - alias support.
 - filename completion (use TAB), both Bash and Windows-CMD style.


Credits
~~~~~~~
FreeDOS developers:
   [email protected] (Tim Norman)
   [email protected] (Matt Rains)
   [email protected] (Evan Jeffrey)
   [email protected] (Steffen Kaiser)
   Svante Frey ([email protected])
   Oliver Mueller ([email protected])
   Aaron Kaufman ([email protected])
   Marc Desrochers ([email protected])
   Rob Lake ([email protected])
   John P. Price <[email protected]>
   Hans B Pufal <[email protected]>

ReactOS developers:
   Eric Kohl
   Emanuele Aliberti <[email protected]>
   Paolo Pantaleo <[email protected]>
   Brandon Turner <[email protected]>


Bugs
~~~~
There are still many bugs ;)
Please report bugs to ReactOS team <[email protected]> or to JIRA at www.reactos.org