Commit Graph

297 Commits

Author SHA1 Message Date
Jason Edmeades d64298df99 cmd: Add support parsing for /f options and implement skip. 2012-10-24 11:29:06 +02:00
Francois Gouget ed9e745580 Assorted spelling tweaks and fixes. 2012-10-22 12:21:55 +02:00
Jason Edmeades 3c05818515 cmd: Add support for calling a built in command. 2012-10-17 11:59:34 +02:00
Jason Edmeades 9f83165efb cmd: Rename parameter passed to builtin calls. 2012-10-17 11:57:35 +02:00
Jason Edmeades dccccfc273 cmd: Handle very odd delimiter support for command line. 2012-10-17 11:57:23 +02:00
Jason Edmeades 130cdcd727 cmd: Add full support for copy concatenation and ascii/binary. 2012-10-15 15:25:22 +02:00
Jason Edmeades 260210f6e6 cmd: Support copy to an 'ascii' destination. 2012-10-15 15:25:20 +02:00
Jason Edmeades 7b9971abf9 cmd: Rework the body of WCMD_copy based on new parameter parsing. 2012-10-15 15:25:10 +02:00
Jason Edmeades 89b8868ae0 cmd: Rework parameter parsing for WCMD_Copy. 2012-10-15 15:25:07 +02:00
Jason Edmeades b1dacc6c37 cmd: cmd.exe /c or /k should suppress copy overwrite prompts. 2012-10-02 14:08:36 +02:00
Jason Edmeades c55cd87632 cmd: Fix setlocal/endlocal implementation. 2012-10-01 14:30:49 +02:00
Jason Edmeades 9dde62cb96 cmd: Add full for /R support. 2012-10-01 14:29:58 +02:00
Jason Edmeades 8fbd65358e cmd: Convert wcmd_for to use WCMD_parameter. 2012-10-01 14:24:48 +02:00
Frédéric Delanoy c5a4878f5f cmd: Reuse common string constants. 2012-09-28 17:14:38 +02:00
Jason Edmeades cd9451c499 cmd: Display 'set' sort ordering correctly. 2012-09-26 17:49:23 +02:00
Jason Edmeades e35b239b41 cmd: Fix parameterization around delimiters. 2012-09-26 17:47:20 +02:00
Jason Edmeades ebd1810918 cmd: Space does not delimit environment variable names. 2012-09-06 18:23:40 +02:00
Jason Edmeades f9b4c78a89 cmd: A successful set should reset the errorlevel. 2012-09-06 18:23:40 +02:00
Jason Edmeades 9877b53b8c cmd: Fix incorrect pointer comparison. 2012-09-05 21:56:55 +02:00
Jason Edmeades 141e33b845 cmd: More generic zero iteration for loop fix. 2012-09-05 21:56:52 +02:00
Jason Edmeades 4f71f4af59 cmd: Fix "PATH=value" command. 2012-09-05 13:25:24 +02:00
Jason Edmeades c5a72379a1 cmd: Fix renaming inside directories. 2012-09-04 15:04:01 +02:00
Jason Edmeades 94f9e789c9 cmd: Fix rmdir error during recursive delete. 2012-09-04 15:03:44 +02:00
Jason Edmeades 1a9413b98a cmd: for /l with zero iterations failed to skip its commands. 2012-09-03 15:51:26 +02:00
Jason Edmeades 3a25888f38 cmd: for loops did not respect boundaries. 2012-09-03 15:51:20 +02:00
Frédéric Delanoy 0e4ceb9a8d cmd: Use BOOL instead of int for boolean variables. 2012-03-29 20:49:18 +02:00
Frédéric Delanoy 668e44ab26 cmd: Respect constant wide strings naming convention. 2012-02-13 12:29:34 +01:00
Frédéric Delanoy 7cf307a7bd cmd: Reuse common string constants. 2012-02-13 12:29:30 +01:00
Alexandre Julliard 3c8d8f1e95 cmd: START needs to be an internal command. 2012-02-11 16:12:01 +01:00
Francois Gouget af3d368aca cmd: Fix an internationalization issue in WCMD_ask_confirm().
Don't break the strings to translate in little chunks: this makes it
hard or even impossible to translate them correctly. For instance it
must be possible to insert an unbreakable space before question marks
for French.
2012-01-23 19:42:54 +01:00
Francois Gouget c2a9aae4ca cmd: Fix asking for a Yes / No / All confirmation. 2012-01-23 19:42:52 +01:00
Francois Gouget 774eb34e36 cmd: Remove an unused variable. 2012-01-23 19:42:52 +01:00
Akihiro Sagawa 8a00eb8609 cmd: Improve the message when the volume has no label. 2011-12-15 17:46:31 +01:00
Francois Gouget 8ef901fa32 cmd: Use FormatMessage() for better internationalization support.
This makes it possible to reorder the format string placeholders in message translations.
2011-12-06 18:23:49 +01:00
Francois Gouget bc176ecb81 cmd: Print error messages on stderr, not on stdout. 2011-12-02 11:53:23 +01:00
Frédéric Delanoy a5becedd0e cmd: Reorder global vars declarations/definitions to improve readability. 2011-11-30 11:44:13 +01:00
Frédéric Delanoy 44a1e7d199 cmd: Move commonly used global vars declarations to header file. 2011-11-30 11:44:05 +01:00
Frédéric Delanoy ad81871f15 cmd: Move a global var to the file using it. 2011-11-30 11:43:21 +01:00
Francois Gouget 3b72928464 cmd: Use WCMD_output_asis*() for strings that are not supposed to contain formating directives. 2011-11-25 17:16:11 +01:00
Frédéric Delanoy 3d028ab67c cmd: Avoid dead assignment (clang). 2011-11-24 20:57:01 +01:00
Frédéric Delanoy de7841b2ce cmd: Move builtins list to builtins.c. 2011-11-21 15:34:58 +01:00
Frédéric Delanoy e3a5423478 cmd: Move WCMD_part_execute function to avoid forward declaration. 2011-11-18 15:37:04 +01:00
Frédéric Delanoy 5fc25686a4 cmd: Avoid duplication of commonly used strings. 2011-11-15 11:45:58 +01:00
Frédéric Delanoy e8d8df3c54 cmd: Trim whitespace in echo on/off. 2011-11-15 11:44:40 +01:00
Frédéric Delanoy 6221e300bc cmd: Avoid comparison between signed and unsigned values. 2011-11-08 13:55:14 +01:00
Frédéric Delanoy 45c1dff552 cmd: Make 'if errorlevel' only recognize integer values. 2011-10-28 12:43:27 +02:00
Frédéric Delanoy 42f126e80d cmd: Constify WCMD_pushd parameter. 2011-10-21 12:31:46 +02:00
Frédéric Delanoy d19455e895 cmd: Rename WCMD_opt_s_strip_quotes function. 2011-10-19 16:38:52 +02:00
Frédéric Delanoy 6fd9d77426 cmd: Make RENAME work for read-only files. 2011-10-14 20:26:43 +02:00
Frédéric Delanoy 1e4c17e5dd cmd: Make MOVE work for read-only files. 2011-10-13 20:07:28 +02:00
Frédéric Delanoy e0ec3e400d cmd: Make PAUSE accept any keypress instead of a full input line. 2011-10-08 19:47:10 +02:00
Frédéric Delanoy 5e3cb1867b cmd: Infer handle type from handle value in WCMD_fgets and WCMD_ReadAndParseLine. 2011-10-06 16:46:41 -05:00
Frédéric Delanoy e2fd09c2e7 cmd: Avoid dead assignments (Clang). 2011-10-05 16:59:18 -05:00
Frédéric Delanoy aee397a317 cmd: Output error messages to stderr instead of stdout where appropriate. 2011-10-03 09:45:43 -05:00
Frédéric Delanoy 29b57ca82d cmd: Get rid of unused parameter in WCMD_ReadFile. 2011-09-28 17:29:24 +02:00
Frédéric Delanoy d6f4f7308a cmd: Avoid checking whether we're in console mode for every read. 2011-09-28 17:29:10 +02:00
Frédéric Delanoy bab0aa765b cmd: Fix comments in WCMD_color. 2011-09-27 16:24:26 +02:00
Frédéric Delanoy 9c61656307 cmd: Output error messages to stderr where appropriate. 2011-09-26 22:42:01 +02:00
Frédéric Delanoy a536004f34 cmd: Improve WCMD_volume documentation. 2011-09-23 12:43:53 +02:00
Frédéric Delanoy c4db72f50e cmd: verify_mode has BOOL type instead of int. 2011-09-16 17:24:19 +02:00
Frédéric Delanoy b3561bf82e cmd: echo_mode has BOOL type instead of int. 2011-09-16 17:24:18 +02:00
Frédéric Delanoy 9bf515974d cmd: Make some variables static. 2011-09-14 17:27:20 +02:00
Christian Costa faa23d2a16 cmd: Move externals list at the same place as the builtins one so it's easier to known how a command is implemented. 2011-09-12 11:10:53 +02:00
Frédéric Delanoy 6e506eaea9 cmd: GOTO is a no-op and doesn't output anything in interactive mode. 2011-09-12 10:07:50 +02:00
Christian Costa 908834feef cmd: Add help info for xcopy. 2011-09-09 15:00:14 +02:00
Frédéric Delanoy 712276c7bf cmd: Fix IF operands parsing for '==' operator. 2011-09-08 20:08:07 +02:00
Frédéric Delanoy 3627c28958 cmd: Add an output parameter to WCMD_parameter to point to the end of the extracted param, if requested. 2011-09-08 20:08:07 +02:00
Frédéric Delanoy 191056ad5c cmd: Clarify WCMD_if function. 2011-09-08 20:08:07 +02:00
Christian Costa ccbae4fa6e cmd: Launch the command with the /? option for external commands shipped with cmd.exe. 2011-09-07 11:38:08 +02:00
Christian Costa 7b41ffbf61 attrib: Move implementation from cmd.exe to the standalone command. 2011-09-06 13:25:50 +02:00
Frédéric Delanoy 02ef576739 cmd: Fix echo's special ';' handling. 2011-09-01 18:06:39 +02:00
Frédéric Delanoy 97b074d2da cmd: Fix invalid RegSetValueExW call in WCMD_assoc. 2011-08-30 16:56:03 +02:00
Frédéric Delanoy 18ac6e1a2c cmd: Ensure WCMD_assoc error messages are sent to stderr instead of stdout. 2011-08-30 16:55:50 +02:00
Frédéric Delanoy 003bdf8e69 cmd: Ignore trailing whitespace when using cd. 2011-08-29 13:55:12 +02:00
Frédéric Delanoy 325bfc72e0 cmd: Quiet a noisy 'FOR /F' fixme. 2011-08-26 11:33:07 +02:00
Frédéric Delanoy ef70d88be0 cmd: Make some WCHAR arrays static. 2011-08-26 11:32:35 +02:00
Frédéric Delanoy 09655aca95 cmd: Misc tab fixes. 2011-08-25 14:51:16 +02:00
Frédéric Delanoy eda33f22ff cmd: Fix if/else tab handling. 2011-08-25 14:51:02 +02:00
Frédéric Delanoy 7b125126a7 cmd: Fix FOR tab handling. 2011-08-25 14:50:31 +02:00
Frédéric Delanoy 20fa3fe802 cmd: Fix FOR tab handling. 2011-08-24 14:01:13 +02:00
Frédéric Delanoy 6572de3cfa cmd: Fix ECHO tab issues. 2011-08-24 14:01:03 +02:00
Frédéric Delanoy ff501904a7 cmd: Constify some function parameters. 2011-08-23 16:53:50 +02:00
Frédéric Delanoy bb47576f59 cmd: Rename WCMD_strtrim_leading_spaces to WCMD_skip_leading_spaces to better reflect its purpose. 2011-08-23 16:53:50 +02:00
Frédéric Delanoy 303af43ff5 cmd: Fix a FOR parsing bug when multiple spaces follow an IN. 2011-08-23 16:53:50 +02:00
Frédéric Delanoy 0758390607 cmd: Clarify some trace messages. 2011-08-23 16:53:50 +02:00
Frédéric Delanoy d1731eb98a cmd: Use CSTR_* instead of hardcoded values as result of CompareStringW. 2011-08-23 16:53:49 +02:00
Dan Kegel 6990cdfe96 cmd: mkdir: Set errorlevel and output error message if final directory already exists. 2011-08-03 17:46:05 +02:00
Dan Kegel 3cd864bdf8 cmd: mkdir: Set errorlevel on invalid argument. 2011-08-03 17:45:01 +02:00
Dan Kegel 15ce9a5784 cmd: mkdir: Handle multiple arguments. 2011-08-03 17:44:53 +02:00
Frédéric Delanoy 25fcad3768 cmd: Partial fix for echo's special ':' handling. 2011-07-28 18:55:07 +02:00
Frédéric Delanoy 4b4dd300f6 cmd: Avoid excess newline after TYPE outputs file contents. 2011-07-15 17:07:51 +02:00
Dan Kegel 32ea7d1f2e cmd: WCMD_delete: fix /s for dirnames containing spaces, add test. 2011-06-02 17:24:58 +02:00
Dan Kegel 3ccfbaef70 cmd: WCMD_delete: move "Delete *.* ?" processing into WCMD_delete_confirm_wildcard. 2011-05-31 18:32:59 +02:00
Dan Kegel ff1e7038b2 cmd: del /a: test deleting readonly files, with fix. 2011-05-24 13:26:04 +02:00
Dan Kegel 65b27c9ecd cmd: del /a: move parsing of attributes to helper function, use bitmasks. 2011-05-24 13:25:46 +02:00
Detlef Riekenberg f29674e86f cmd: Do not reset errorlevel during SET. 2010-12-20 12:47:42 +01:00
Detlef Riekenberg 7045e478a8 cmd: Add CHOICE builtin with DOS6 to XP commandline parameter. 2010-12-20 12:47:41 +01:00
Detlef Riekenberg d62c6bb77f cmd: Allow GOTO to a label which has a following whitespace, with test. 2010-12-13 12:43:33 +01:00
Jason Edmeades 32c8b46633 cmd: echo.word should echo back the word without the . 2010-09-08 19:49:30 +02:00
Gerald Pfeifer 0d527532fa cmd: Remove variable copyFromDir which is not really used from WCMD_copy. 2010-05-10 10:12:03 +02:00
Gerald Pfeifer 5b0de0d569 cmd: Remove variable useinput which is not really used from WCMD_more. 2010-05-05 10:52:51 +02:00
Gerald Pfeifer 02a0bd3a00 cmd: Remove variable doRecursive which is not really used from WCMD_for. 2010-05-03 15:35:11 +02:00
Nikolay Sivov e22f6aa6e3 cmd: Ignore spaces before goto label. 2010-03-24 19:02:06 +01:00
Arjun Comar a607f53779 cmd: Fix cmd to take /? as a help parameter. 2010-03-04 17:31:05 +01:00
Dan Kegel 8110dde8ae cmd: Fix 'else', with tests. 2010-02-18 12:43:00 +01:00
Dan Kegel 15998c2bdb cmd: Size buffer in create_full_path() correctly. 2010-02-03 11:07:14 +01:00
Trey Hunner afb374b7aa cmd: Add support for 'if /i'. 2010-02-02 11:59:33 +01:00
Alexandre Julliard 79b00726f2 cmd: Use the explicit name for all A/W function. 2009-12-09 18:52:40 +01:00
Andrew Nguyen 203c538aaa cmd: Fix copy option handling in batch mode. 2009-10-06 11:51:57 +02:00
Dan Kegel 81e5c76a5f cmd: Improve 'attrib' builtin to handle at least setting/clearing single attributes. 2009-09-25 14:00:17 +02:00
André Hentschel 765d9a1411 wcmd: Ignore start and end quotes. 2009-08-29 16:48:52 +02:00
Juan Lang 9c7ded0973 wcmd: Only execute non-empty commands. 2009-08-13 11:45:04 +02:00
Francois Gouget 0c01b71a4e cmd: Replace malloc() with HeapAlloc(). 2009-06-15 13:42:30 +02:00
Nikolay Sivov 2dd1b3b636 cmd: Reserve a place in buffer for NULL terminator. 2009-02-18 15:00:22 +01:00
Nikolay Sivov 78f38a742f cmd: Always add a new line in 'type' output on single file mode. 2009-02-18 15:00:04 +01:00
Francois Gouget e7b125702f cmd: Make WCMD_ask_confirm() static. 2009-01-06 10:09:37 +01:00
Christian Costa 656b627340 cmd.exe: Use WCMD_CURRENTTIME resource to show the time. 2008-12-30 13:40:36 +01:00
Francois Gouget 8a18e0e43a Assorted spelling fixes. 2008-04-07 13:36:18 +02:00
Jason Edmeades 4492334762 cmd.exe: Support cd .. when saving current directory. 2008-03-04 11:54:21 +01:00
Jason Edmeades 84f02a6ab2 cmd.exe: Fix pipes. 2008-03-04 11:54:21 +01:00
Francois Gouget 4c8e218252 Assorted spelling fixes. 2008-02-15 12:09:24 +01:00
Lance Jackson d56217e98e cmd: Fix some unclosed file and registry handles. 2008-01-04 12:12:51 +01:00
Dmitry Potapov f918d175af cmd: copy: Fix "Path not found" error. 2007-10-15 16:56:03 +02:00
Jason Edmeades 1ee75382c7 cmd.exe: Fix redirect ordering on a command line. 2007-09-12 12:40:16 +02:00
Jason Edmeades c7b88e95f5 cmd.exe: Add basic support for FOR /F parsing launched programs output. 2007-09-12 12:40:02 +02:00
Jason Edmeades f3ae48cbda cmd.exe: Add basic for /F string support. 2007-09-12 12:39:54 +02:00
Jason Edmeades bcaf4fb43f cmd.exe: Add suport for if 1==1 echo yes. 2007-09-12 12:39:41 +02:00
Jason Edmeades b69241124e cmd.exe: Expand for variables at last with tilda modifications. 2007-09-12 12:39:21 +02:00
Jason Edmeades dc372175d4 cmd.exe: Enhance FOR support. 2007-09-12 12:38:17 +02:00
Marcus Meissner 28ca9a8658 cmd.exe: WCMD_for is only for files. 2007-08-13 11:39:11 +02:00
Jason Edmeades 8e08983e5f cmd: Fix comment to accurately reflect the function. 2007-07-30 15:01:46 +02:00
Jason Edmeades a766ba0570 cmd: Add support for wildcards in copy. 2007-07-30 15:01:41 +02:00
Anatoly Lyutin 24866e7906 cmd: Use toupperW instead of toupper. 2007-07-11 11:59:48 +02:00
Francois Gouget a3317a5c01 Assorted spelling fixes. 2007-07-05 19:56:34 +02:00
Michael Stefaniuc 6519a83de4 cmd: Remove superfluous casts of void pointers to other pointer types. 2007-06-27 12:53:16 +02:00
Jason Edmeades 196fb10c32 cmd.exe: for loop by default only matches files. 2007-06-18 14:25:13 +02:00
Jason Edmeades 54d890ca1e cmd.exe: Fix FOR so it works as 'well' as before. 2007-06-18 14:24:59 +02:00
Jason Edmeades d2e7b401a2 cmd.exe: Support IF..ELSE processing tolerate multiline/part lines. 2007-06-18 14:24:23 +02:00
Jason Edmeades d2474dece3 cmd.exe: EXIT /b skips any residual commands. 2007-06-18 14:23:23 +02:00
Jason Edmeades 929a92f3c4 cmd.exe: GOTO throws away any preloaded multi part/line command. 2007-06-18 14:22:57 +02:00
Jason Edmeades 8f12d8bde3 cmd.exe: Pass the command list through so it is available to built in commands. 2007-06-18 14:22:43 +02:00
Alexandre Julliard abc5fefada cmd.exe: Silence a FIXME. 2007-06-08 12:54:21 +02:00
Jason Edmeades afe4d80a5e cmd.exe: Fix 'help garbage' command post-unicode support. 2007-06-04 14:44:57 +02:00
Jason Edmeades b8aa5fc586 cmd.exe: Convert cmd to Unicode. 2007-06-04 14:44:46 +02:00
Jason Edmeades 5cc492c783 cmd.exe: Move English constants into NLS files. 2007-06-04 14:10:04 +02:00
Francois Gouget 5a8fc34033 Assorted spelling fixes. 2007-04-30 12:35:11 +02:00
Jason Edmeades 68b11d1290 cmd.exe: Support for DEL filename /s. 2007-04-24 11:53:13 +02:00
Jason Edmeades ce87522f84 cmd.exe: Implement a basic 'more'.
This implements a basic more, eg 'dir | more' or 'more file.c'
but it does not support the flags or keys which can control it.
Basically its not worth implementing those, as in some modes
we cannot read a single key, we have to wait for <enter> anyway.
2007-04-16 12:24:49 +02:00
Jason Edmeades 2f5bfc0f78 cmd.exe: Add prompting and COPYCMD plus /Y support to move. 2007-04-12 16:38:35 +02:00
Jason Edmeades d0a6fe101a cmd.exe: Add move support for wildcards and directories. 2007-04-12 16:38:24 +02:00