есть ли способ «разделить» значение строки строки, считываемой пакетным файлом? Предположим, есть этот текстовый файл
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.