mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-08-27 11:53:32 +00:00
- First, the option and the APIs called by it can work directly on paths relative to the current directory. So there is no need to call GetFullPathName(), with the risk of going over MAX_PATH if the current path is quite long (or nested) but the RMDIR is called on a (short-length) relative sub-directory. - Append a path-separator (backslash), only if the specified directory does not have one already, and, that it does not specify a current directory via the "drive-root" method, e.g. "C:" without any trailing backslash. - In case there are errors during deletion of sub-directories or sub-files, print the error but continue deleting the other sub-dirs or files. - Monitor the Ctrl-C breaker as well, and stop deleting if it has been triggered. - When removing file/directory read-only attribute, just remove this attribute, but keep the other ones. - When deleting the directory, first try to do it directly; if it fails with access denied, check whether it was read-only, and if so, remove this attribute and retry deletion, otherwise fails. - When recursively deleting a drive root directory, ultimately resolve the dir pattern and check whether it's indeed a drive root, e.g. "C:\\", and if so, just return success. Indeed, calling RemoveDirectory() on such drive roots will return ERROR_ACCESS_DENIED otherwise, but we want to succeed even if, of course, we won't actually "delete" the drive root.
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