Назад | Перейти на главную страницу

Разделить строку строки, прочитанной пакетным файлом

есть ли способ «разделить» значение строки строки, считываемой пакетным файлом? Предположим, есть этот текстовый файл

192.168.1.2; PC_NAME_1

192.168.1.3; PC_NAME_3

...

Я хотел бы прочитать строку 1 и разделить значение на две переменные ... Итак, я могу использовать IP-адрес, а также имя ПК (для других целей) ... например:

для / f %% x в (txtfile.txt) do (....

Спасибо

Да, это можно сделать. Используется специальный синтаксис FOR

for /F "delims=," %A in (filename.txt) do call subbatch.bat %A %B %C %D %E

Это разделит его только на запятую. Но по умолчанию он будет разделен на пробел и вкладку. термин "токены" может указать, со сколькими из них вы хотите иметь дело

for /F "tokens=1,2,3,*" %A in (filename.txt) do call subbatch.bat %A %B %C "%D"

В этом случае% D будет содержать все, начиная с четвертого разделителя и далее.

Однако следует помнить, что «Do» - это не блок процедуры, это одноразовый вызов. Здесь можно использовать «goto» или «call» для вызова дальнейшей логики. В приведенных выше примерах вызывается другой пакетный файл и передаются необходимые параметры в качестве параметров командной строки, поэтому для этих вспомогательных файлов переменные будут на% 1 и% 2.