reactos/reactos/base/shell/cmd
Jeffrey Morlan 781ae61f03 - Make IF command a special form; necessary to make nested multi-line IF blocks work properly
- Implement IF /I option, IF CMDEXTVERSION, and generic comparisons (EQU etc)
- Make IF ERRORLEVEL return true if the errorlevel is greater than the number
- Remove hacked support for multi-line IF blocks from batch.c

svn path=/trunk/; revision=38280
2008-12-22 22:34:51 +00:00
..
lang Bug 3670: update translate file by Lars Martin Hambro 2008-08-31 20:20:14 +00:00
res Add 8 bits and 16 bits icons 2007-12-29 16:02:48 +00:00
alias.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
attrib.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
batch.c - Make IF command a special form; necessary to make nested multi-line IF blocks work properly 2008-12-22 22:34:51 +00:00
batch.h - Make IF command a special form; necessary to make nested multi-line IF blocks work properly 2008-12-22 22:34:51 +00:00
beep.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
call.c - Implement call :label by creating a new batch context; this way calls can be nested and have their own %0-%9 parameters. 2008-08-26 20:36:38 +00:00
chcp.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
choice.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
cls.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
cmd.c - Make IF command a special form; necessary to make nested multi-line IF blocks work properly 2008-12-22 22:34:51 +00:00
cmd.h - Make IF command a special form; necessary to make nested multi-line IF blocks work properly 2008-12-22 22:34:51 +00:00
cmd.rbuild KJK::Hyperion is proud to present "dllimport purity", another landmark commit that you should really build only after a "clean" 2008-11-04 18:16:58 +00:00
cmd.rc Rename the Norwegian RC Files to no-NO.rc, which is correct according to MSDN. 2008-08-01 13:08:15 +00:00
cmddbg.c Fix debug output of strings 2008-05-15 20:29:50 +00:00
cmddbg.h - Fix some warnings spotted by MSVC 2008-05-17 08:49:39 +00:00
cmdinput.c - Extract the line-reading code in ProcessInput to a separate function (ReadLine) that the parser can call. Now line continuations (using ^ at the end of a line) and multi-line parenthesized blocks work. 2008-08-22 14:37:11 +00:00
cmdtable.c - Make IF command a special form; necessary to make nested multi-line IF blocks work properly 2008-12-22 22:34:51 +00:00
cmdver.h
color.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
config.h Fix debug output of strings 2008-05-15 20:29:50 +00:00
console.c Improvements to cmd ConPrintfPaging: 2008-07-27 14:03:44 +00:00
copy.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
date.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
del.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
delay.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
dir.c Fix bug where DIR /D wouldn't always show all files; merge duplicated code between /W and /D 2008-12-16 23:51:20 +00:00
dirstack.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
echo.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
error.c - In cmd, add ConOutResPrintf and ConErrResPrintf functions for printf-ing from a resource string; use it to shorten several instances of LoadString+Con*Printf. 2008-07-26 22:49:49 +00:00
filecomp.c - Fix some warnings spotted by MSVC 2008-05-17 08:49:39 +00:00
files.txt Samuel Erdtman <samuel@erdtman.se> 2007-09-27 08:35:08 +00:00
for.c - Batch: In a line generated by a 'for', add the \n that the parser expects. (Bug 3717) 2008-09-08 16:23:33 +00:00
free.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
goto.c - Implement call :label by creating a new batch context; this way calls can be nested and have their own %0-%9 parameters. 2008-08-26 20:36:38 +00:00
history.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
history.txt Remove outdated email address. 2007-05-27 14:50:12 +00:00
if.c - Make IF command a special form; necessary to make nested multi-line IF blocks work properly 2008-12-22 22:34:51 +00:00
internal.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
label.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
license.txt
locale.c Delete all Trailing spaces in code. 2007-10-19 23:21:45 +00:00
main.c Fix compiling rostests 2007-08-02 06:59:36 +00:00
memory.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
misc.c - Implement X>&Y redirections. Hold redirections in a linked list structure, because order matters (>x 2>&1 is not the same as 2>&1 >x). Allow redirection of any handle number from 0 to 9. 2008-08-21 15:33:59 +00:00
move.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
msgbox.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
parser.c - Make IF command a special form; necessary to make nested multi-line IF blocks work properly 2008-12-22 22:34:51 +00:00
path.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
pause.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
precomp.h Fix debug output of strings 2008-05-15 20:29:50 +00:00
prompt.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
readme.txt Remove outdated email address. 2007-05-27 14:50:12 +00:00
readme2.txt
redir.c - Begin writing a real parser for cmd. &, &&, ||, and () are implemented. The parenthesized blocks aren't too useful yet as the parser can't read additional lines; doing this will require some restructuring in cmd.c. 2008-08-21 20:18:35 +00:00
ren.c Bug closing extravaganza holiday special commit! 2008-11-30 23:08:02 +00:00
ren.txt Bug closing extravaganza holiday special commit! 2008-11-30 23:08:02 +00:00
replace.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
resource.h Delete all Trailing spaces in code. 2007-10-19 23:21:45 +00:00
screen.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
set.c - RtlSetEnvironmentVariable: To delete a variable, it is necessary to pass a NULL pointer as the value; passing an empty string should create an empty variable. Remove Value->Length > 0 check. 2008-08-26 15:28:29 +00:00
setlocal.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
shift.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
start.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
strtoclr.c
time.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
timer.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
title.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
todo.txt
type.c cmd_type: Fix misuse of ConOutPrintf which caused problems when the file had any '%' characters in it. 2008-08-26 19:07:23 +00:00
ver.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
verify.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
vol.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00:00
where.c Gimme back mah ftp. 2008-12-01 18:33:55 +00:00
window.c Remove the "LPTSTR cmd" argument to internal commands; there's no need for a command to be told its own name. It was only used in two places: 2008-08-25 23:22:03 +00: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 seperatly 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 unix and windows style.


Credits
~~~~~~~
FreeDOS developers:
   normat@rpi.edu (Tim Norman)
   mrains@apanix.apana.org.au (Matt Rains)
   ejeffrey@iastate.edu (Evan Jeffrey)
   Steffen.Kaiser@Informatik.TU-Chemnitz.DE (Steffen Kaiser)
   Svante Frey (sfrey@kuai.se)
   Oliver Mueller (ogmueller@t-online.de)
   Aaron Kaufman (morgan@remarque.berkeley.edu)
   Marc Desrochers (bitzero@hotmail.com)
   Rob Lake (rlake@cs.mun.ca)
   John P. Price <linux-guru@gcfl.net>
   Hans B Pufal <hansp@digiweb.com>

ReactOS developers:
   Eric Kohl
   Emanuele Aliberti <ea@iol.it>
   Paolo Pantaleo <paolopan@freemail.it>
   Brandon Turner <turnerb7@msu.edu>



Bugs
~~~~
There is still many bugs ;)
Please report bugs to ReactOS team <ros-dev@reactos.org> or to bugzilla at www.reactos.org