Commit Graph

175 Commits

Author SHA1 Message Date
Jason Edmeades a45301cb93 cmd: Strip quotes from for /f string before attempting to parse it. 2012-10-24 11:30:40 +02:00
Jason Edmeades 9171fd1454 cmd: Add support for usebackq (for /f). 2012-10-24 11:30:11 +02:00
Jason Edmeades 293da2d06c cmd: Implement support for for /f eol=c option. 2012-10-24 11:29:43 +02:00
Jason Edmeades d64298df99 cmd: Add support parsing for /f options and implement skip. 2012-10-24 11:29:06 +02:00
Frédéric Delanoy c5faceabd2 cmd/tests: Add tests for mixed number/stringified numbers comparisons in "if" statements. 2012-10-23 12:10:56 +02:00
Frédéric Delanoy 5888ad3537 cmd/tests: Add tests for GTR comparison operator in "if" statements. 2012-10-23 12:10:52 +02:00
Frédéric Delanoy 43f5471cba cmd/tests: Add tests for GEQ comparison operator in "if" statements. 2012-10-23 12:10:49 +02:00
Frédéric Delanoy 8e3227c824 cmd/tests: Add tests for NEQ comparison operator in "if" statements. 2012-10-23 12:10:45 +02:00
Frédéric Delanoy a0a61cb592 cmd/tests: Add tests for EQU comparison operator in "if" statements. 2012-10-23 12:10:41 +02:00
Frédéric Delanoy ac52924d44 cmd/tests: Add tests for LEQ comparison operator in "if" statements. 2012-10-23 12:10:38 +02:00
Frédéric Delanoy e3b5b6fd14 cmd/tests: Add tests for LSS comparison operator in "if" statements. 2012-10-23 12:10:32 +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 130cdcd727 cmd: Add full support for copy concatenation and ascii/binary. 2012-10-15 15:25:22 +02:00
Jason Edmeades a65314c8fa cmd: Add suite of tests for the copy command. 2012-10-15 15:25:16 +02:00
Jason Edmeades 8f019b1111 cmd: Fix some issues with ~ modifier expansion. 2012-10-15 15:25:14 +02:00
Frédéric Delanoy 0ab71a42b4 cmd/tests: Move command line tests to separate file. 2012-10-11 20:37:59 +02:00
Jason Edmeades f252e9dfc8 cmd: Change command line parsing away from argv/argc. 2012-10-03 11:24:13 +02:00
Jason Edmeades 88f14bb590 cmd: Fix basic cmd.exe /c "echo hello" type syntax.
Add checks for existance of command to run in order to keep the
new quote handling capabilities of cmd.exe /C or /K. If the command
cannot be found, drop back to /S processing mode as per cmd.exe help.
2012-10-02 14:08:36 +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 a810e41e47 cmd: Echo back command with whitespace removed first. 2012-09-26 17:49:11 +02:00
Jason Edmeades 2ff533c1f2 cmd: Support for ^ character at end of line.
Based on a patch by John Chow.
2012-09-26 17:48:59 +02:00
Jason Edmeades e35b239b41 cmd: Fix parameterization around delimiters. 2012-09-26 17:47:20 +02:00
Francois Gouget 5f55a71b70 Assorted spelling fixes. 2012-09-24 22:27:29 +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 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
Francois Gouget bc176ecb81 cmd: Print error messages on stderr, not on stdout. 2011-12-02 11:53:23 +01:00
Francois Gouget 66db270d22 cmd/tests: Use resynchronization points to better deal with two IF statements tests. 2011-11-30 16:41:12 +01:00
Francois Gouget 87a770fa73 cmd/tests: Tweak subsection headers so they are treated as resynchronization points. 2011-11-29 13:56:24 +01:00
Francois Gouget 128d0656de cmd/tests: Standardize the batch file section headers. 2011-11-29 13:56:12 +01:00
Francois Gouget 81f64ee906 cmd/tests: Treat lines that start with '---' as resynchronization points. 2011-11-29 13:56:03 +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 ecc4d87253 cmd: Fix a comment. 2011-10-28 12:47:10 +02: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 d5523fcd80 cmd/tests: Show that read-only files are RENAMEable. 2011-10-14 20:26:43 +02:00
Frédéric Delanoy 1f5c0a6170 cmd/tests: Add tests for directories RENAMEs. 2011-10-14 20:26:43 +02:00
Frédéric Delanoy ad9ae2b8ff cmd/tests: Show that read-only files are MOVEable. 2011-10-13 20:07:26 +02:00
Frédéric Delanoy 212949f108 cmd/tests: Add MOVE tests. 2011-10-11 19:43:47 +02:00
Frédéric Delanoy cf826fe010 cmd/tests: Add RENAME tests. 2011-09-15 15:41:40 +02:00
Frédéric Delanoy ad064b44ed cmd/tests: Add tests for SHIFT builtin. 2011-09-14 17:27:24 +02:00
Frédéric Delanoy 8fff969ce6 cmd/tests: Segment mkdir tests for an easier read. 2011-09-13 17:17:55 +02:00
Frédéric Delanoy 195ee2f377 cmd/tests: Add tests for combined CALLs/GOTOs. 2011-09-12 16:49:56 +02:00
Frédéric Delanoy cb63445b5e cmd: Show that windows doesn't lock/prevent access to batch file during execution. 2011-09-12 16:49:56 +02:00
Frédéric Delanoy d029a33453 cmd/tests: Segment CALL tests for an easier read. 2011-09-12 10:07:56 +02:00
Frédéric Delanoy f35d52e20e cmd/tests: Add tests for IF '==' operator. 2011-09-05 19:32:32 +02:00
Frédéric Delanoy ba094f2830 cmd/tests: Add pushd/popd tests. 2011-08-31 19:43:07 +02:00
Octavian Voicu 0b10003d4a cmd/tests: Test del /s recursion in subdirectories with colons. 2011-08-30 17:27:00 +02:00
Frédéric Delanoy 74566422c7 cmd/tests: Add ftype tests. 2011-08-30 17:07:36 +02:00
Frédéric Delanoy c08459d0be cmd/tests: Add assoc tests. 2011-08-30 16:55:55 +02:00
Frédéric Delanoy 745fbe084f cmd/tests: Add tests for mixed echo modes. 2011-08-29 13:55:59 +02:00
Frédéric Delanoy a2eb505d2c cmd/tests: Add tests for redirections within IF statements. 2011-08-29 13:55:54 +02:00
Frédéric Delanoy bbdaed2f33 cmd: Fix redirection handle parsing. 2011-08-29 13:55:41 +02:00
Frédéric Delanoy 523683d788 cmd/tests: Add tests for redirections using non stdout/stderr handles. 2011-08-29 13:55:29 +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 9b79fd5777 cmd/tests: Add variable substitution tests. 2011-08-26 13:27:41 +02:00
Frédéric Delanoy 92356ca2b7 cmd/tests: Add tests for FOR /F 'skip' option. 2011-08-26 11:33:01 +02:00
Frédéric Delanoy fef13bf2ca cmd/tests: Add tests for FOR /F 'delims' option. 2011-08-26 11:32:58 +02:00
Frédéric Delanoy 1755885472 cmd/tests: Add tests for FOR /F 'eol' option. 2011-08-26 11:32:52 +02:00
Frédéric Delanoy bf0e1c7ca7 cmd/tests: Add basic FOR /F tests. 2011-08-26 11:32:47 +02:00
Frédéric Delanoy 199f788c31 cmd/tests: Add FOR tests for various quoted parameters. 2011-08-26 11:32:40 +02:00
Frédéric Delanoy 3ce59f5dba cmd/tests: Add attrib tests. 2011-08-25 19:15:29 +02:00
Frédéric Delanoy 82cdeb6d4d cmd/tests: Add tests for variables substrings. 2011-08-25 17:56:31 +02:00
Frédéric Delanoy 0decc777eb cmd/tests: Test handling of strings starting with on/off using the ECHO builtin. 2011-08-25 14:51:23 +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 6d3fd3abcd cmd: Fix REM tab handling. 2011-08-25 14:50:51 +02:00
Frédéric Delanoy d147df418c cmd/tests: Add REM tests. 2011-08-25 14:50:43 +02:00
Frédéric Delanoy 20fa3fe802 cmd: Fix FOR tab handling. 2011-08-24 14:01:13 +02:00
Frédéric Delanoy a91eceaec0 cmd/tests: Add tests for tab handling. 2011-08-23 16:53:50 +02:00
Frédéric Delanoy 6bd0671f07 cmd/tests: Add basic cd tests. 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 28fe027eee cmd/tests: Add FOR /A tests. 2011-08-04 18:27:37 +02:00
Frédéric Delanoy 920bdcc4b8 cmd/tests: Add setlocal/endlocal tests. 2011-08-04 18:27:36 +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
Francois Gouget ed3c9a1eca Assorted spelling fixes. 2011-08-03 14:15:48 +02:00
Frédéric Delanoy 0cfe9fa6a5 cmd/tests: Additional tests for variable delayed expansion. 2011-08-02 20:47:51 +02:00
Frédéric Delanoy 3c8674a721 cmd/tests: Add tests for variable delayed expansion. 2011-08-01 18:26:27 +02:00
Frédéric Delanoy ce57ebe32d cmd/tests: Additional CALL tests. 2011-07-29 15:31:31 +02:00
Frédéric Delanoy 7fb790f8a7 cmd/tests: Add FOR /L tests. 2011-07-29 15:31:28 +02:00
Frédéric Delanoy 21f7c5db61 cmd/tests: Add FOR /D tests. 2011-07-29 15:31:25 +02:00
Frédéric Delanoy 327eb31325 cmd/tests: Additional variable expansion FOR tests. 2011-07-28 18:55:25 +02:00
Frédéric Delanoy dcd544f744 cmd/tests: Test special handling of ':' in echo. 2011-07-28 18:54:50 +02:00
Frédéric Delanoy 5fe0f1e1dc cmd/tests: Fix test runner so it catches cases where an output line contains the associated expected line as prefix. 2011-07-28 18:54:47 +02:00
Frédéric Delanoy 011d5c331c cmd/tests: Add tests for stdout redirection and appending operators. 2011-07-27 12:28:12 +02:00
Frédéric Delanoy 414bd437a9 cmd/tests: Test multiple params rmdir. 2011-07-25 22:30:01 +02:00
Frédéric Delanoy 9e57a09bb5 cmd/tests: Test multiple params mkdir. 2011-07-25 22:29:59 +02:00
Frédéric Delanoy 1e28bbb88e cmd/tests: Add ^ escape character tests. 2011-07-25 14:01:05 +02:00
Frédéric Delanoy 3d9245830f cmd/tests: Add tests for || on failure conditional execution. 2011-07-25 14:00:48 +02:00
Frédéric Delanoy 73413693d6 cmd/tests: Add tests for && on success conditional execution. 2011-07-25 14:00:46 +02:00
Frédéric Delanoy 8b1d8e9e82 cmd/tests: Add tests for & (un)conditional execution. 2011-07-25 14:00:44 +02:00
Frédéric Delanoy 8f8aa7a35e cmd/tests: Add CALL tests. 2011-07-21 16:28:46 +02:00
Frédéric Delanoy 5d22f3aa14 cmd/tests: Add tests for NUL handling. 2011-07-19 18:26:22 +02:00
Frédéric Delanoy a28c7caf3e cmd/tests: Test that ErrorLevel is set to 9009 when unknown commands are encountered. 2011-07-19 14:04:25 +02:00
Frédéric Delanoy 23cd306a7d cmd/tests: Add tests for recursive rmdir. 2011-07-19 14:04:16 +02:00