Coverts simple basic shell scripts to windows batch scripts.
While it is not really possible to take every shell script and automatically convert it to a windows batch file, this library provides a way to convert simple basic shell commands to windows batch commands.
The original goal of this library is to provide users of cargo-make a way to write simple tasks with shell scripts without duplicating their code for each platform.
Simply include the library and invoke the convert function as follows:
```rust extern crate shell2batch;
fn main() { let script = shell2batch::convert( r#" export FILE1=file1 export FILE2=file2
#this is some test code
cp ${FILE1} $FILE2
#another
mv file2 file3
export MY_DIR=directory
#flags are supported
rm -Rf ${MY_DIR}
unset MY_DIR
"#
);
assert_eq!(
script,
r#"
set FILE1=file1 set FILE2=file2
@REM this is some test code xcopy %FILE1% %FILE2%
@REM another move file2 file3
set MY_DIR=directory
@REM flags are supported del /Q %MY_DIR%
set MY_DIR= "# );
println!("Script: {}", script);
} ```
In order to use this library, just add it as a dependency:
ini
[dependencies]
shell2batch = "*"
See full docs at: API Docs
| Date | Version | Description | | ----------- | ------- | ----------- | | 2017-10-24 | v0.1.3 | Variable replacement support. | | 2017-10-22 | v0.1.2 | Added command flags replacements. | | 2017-10-21 | v0.1.0 | Initial release. |
Developed by Sagie Gur-Ari and licensed under the Apache 2 open source license.