Я работаю над пакетным файлом для использования в качестве обертки для некоторых модулей обработки данных, которые уже написаны, с целью возможности запуска некоторых из них параллельно и других по мере необходимости/обработки власть позволяет. В базовых модулях требуется один вход (путь, содержащийся в двойных кавычках), и необязательно другой путь, содержащийся в двойных кавычках и/или набор флагов, и я пытаюсь выяснить, как тестировать эти входы. Я в настоящее время имеюПакетный файл: разбор входных команд командной строки
: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
Это, кажется, все правильно разбирает, если что-то вводится в правильном порядке. Тем не менее, я также хотел проверить, будут ли флаги (которые будут предикатами '-') появляться в качестве первого или второго входов, а если они есть, отображать сообщение об использовании/задавать переменные правильно по мере необходимости. Я решил, что самый простой способ сделать это - посмотреть, является ли первый символ этих строк «-», но я не могу найти способ сделать это. Я нашел фрагмент кода, который проверяет, содержит ли строка определенную подстроку, заменяя подстроку пустыми строками, а затем видя, является ли результирующая строка такой же, как у оригинала, но это не сработает, поскольку люди могут иметь законные символы в другом месте по их пути. Есть ли способ проверить, соответствует ли первый символ строки заданному символу в пакетном файле, или лучший способ делать то, что я хочу?
Спасибо за ответ. Я m, используя командный файл как своего рода интерфейс для модулей, которые были скомпилированы с помощью Matlab, поэтому он фактически ничего не делает с флагами - он просто передает их, если они присутствуют. Ea ch выполняет свою собственную проверку, но я надеялся, что сможет проверить их до их вызова, так что пользователь не будет заполнен сообщениями об использовании. – ackrause