我遇到了ss64.com,它为如何编写Windows命令解释器将运行的批处理脚本提供了很好的帮助.
但是,我一直无法找到批处理脚本的语法,扩展或不扩展的方法,以及如何逃避事情的良好解释.
以下是我无法解决的示例问题:
foreach $i (@ARGV) { print '*' . $i ; }),编译它并以这种方式调用它:
my_script.exe "a ""b"" c"?输出是 *a "b*cmy_script.exe """a b c"""?输出它*"a*b*c"echo命令如何工作?在那个命令中扩展了什么?for [...] %%I在文件脚本中使用,但for [...] %I在交互式会话中?%PROCESSOR_ARCHITECTURE%字面回声?我发现echo.exe %""PROCESSOR_ARCHITECTURE%有效,有没有更好的解决方案?%配对?例:
set b=a,echo %a %b% c%?%a a c%set a =b,echo %a %b% c%?bb c%目前我正在使用Windows批处理文件来构建我的软件.它可以运行MSBuild,复制文件,创建ZIP文件,运行一些测试,包括颠覆版本号等.
但问题是,批处理文件是邪恶的.所以我想换个更好的东西.我打算用Python重新创建我的构建脚本.这是一个明智的选择吗?那些构建系统如Ant,SCons,Maven,Rake等等.使用其中任何一个都是更好的选择吗?
注意:我不打算替换我的Visual Studio解决方案/项目文件.我只想编写创建软件版本所需的所有其他内容.
编辑:我有充分的理由离开批处理,这不是我的问题所在.我想知道(例如)SCons给我的是什么,而不是普通的Python脚本.