2016-06-02 2 views
0

У меня есть командный файл, который проходит через некоторые команды, но иногда эти команды выдает код ошибки. Я хотел бы, чтобы мой скрипт автоматически выполнял некоторые действия при получении конкретных кодов ошибок, что легко можно сделать с помощью операторов if и т. Д. - моя проблема в том, что я не уверен, как захватить только код ошибки из текста, который генерируется, когда команды запускаются.Захват текста из переменной в другую переменную в пакетном файле

В настоящее время скрипт сохраняет весь вывод команд в переменную с именем ato. Внутри этой переменной есть код ошибки в середине текста, окруженного '. Я полагаю, что могу использовать эти апострофы как разделители в переменной, которую я хочу создать, но я не уверен, как это сделать. Я нашел несколько потоков, которые, кажется, указывают мне в близком направлении, но я не могу заставить их работать, я скорее новичок для пакетных скриптов.

Струны Я работаю с выглядит следующим образом: An error has occurred, error code '0x00000000'. Please try again.

Строка может быть разной длины, а также ошибка, мне просто нужно, чтобы извлечь всю информацию внутри апостроф годов во вторую переменную.

+0

, так что вы хотите номер ошибки? – npocmaka

ответ

1

Я нашел решение своей проблемы на windows-batch-file-split-string-with-string-as-delimiter от Aacini, но немного изменился. Мое решение:

for /F "tokens=2 delims='" %%a in ("%ato%") do (
    echo %%a 
) 

Токены = 2, чтобы получить только вторую строку, которая находится в разделенной строке.