You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
It is possible to provide custom conversion hints by using the # shell2batch: prefix (see below example).
Usage
Simply include the library and invoke the convert function as follows:
fnmain(){let script = shell2batch::convert(r#" set -x export FILE1=file1 export FILE2=file2 #this is some test code cp ${FILE1} $FILE2 cp -r ${DIR1} $DIR2 #another mv file2 file3 export MY_DIR=directory #flags are supported rm -Rf ${MY_DIR} unset MY_DIR touch ./file3 #provide custom windows command for specific shell command complex_bash_command --flag1 value2 # shell2batch: complex_windows_command /flag10 windows_value "#,);assert_eq!(
script,r#"@echo onset FILE1=file1set FILE2=file2@REM this is some test codecopy %FILE1% %FILE2%xcopy /E %DIR1% %DIR2%@REM anothermove file2 file3set MY_DIR=directory@REM flags are supportedrmdir /S /Q %MY_DIR%set MY_DIR=copy /B .\file3+,, .\file3@REM provide custom windows command for specific shell commandcomplex_windows_command /flag10 windows_value"#);println!("Script: {}", script);}
Installation
In order to use this library, just add it as a dependency: