我正在研究一个批处理文件,以用作一些已经编写的数据处理模块的包装器,目标是能够根据需要/处理能力允许并行运行一些并行运行和串行运行其他一些。底层模块需要一个输入(包含在双引号中的路径),以及可选的包含在双引号和/或一组标志中的另一个路径,我试图弄清楚如何测试这些输入。我目前有
:TEST_PARAMS
REM Make sure parameters are correct; if not, display a usage message
IF NOT "%1"=="" (SET SUBBASENAME=%1
) ELSE (
GOTO :USAGE
)
IF NOT "%2"=="" (SET ATLASBASENAME=%2
) ELSE (
SET ATLASBASENAME=%DEFAULTATLAS%
)
IF NOT "%3"=="" (SET FLAGS=%3
) ELSE (
SET FLAGS=""
)
GOTO :START_SVREG
如果以正确的顺序输入内容,这似乎可以正确解析所有内容。但是,我还想检查标志(前面有'-')是否作为第一个或第二个输入弹出,如果是,则根据需要显示使用消息/正确设置变量。我认为最简单的方法是查看这些字符串的第一个字符是否是'-',但我找不到任何方法来做到这一点。我找到了一段代码,它通过用空字符串替换子字符串然后查看结果字符串是否与原始字符串相同来检查字符串是否包含某个子字符串,但这不起作用,因为人们可能在其他地方合法地使用连字符在他们的路径中。有没有办法检查字符串的第一个字符是否与批处理文件中的给定字符匹配,