CMD/BAT - Спец символы в cmd ?

Аватара пользователя
obli

CMD/BAT - Спец символы в cmd ?

Сообщение obli »

Есть текстовый 1.txt файл типа

111 555 333 444

222 333 666 666



хочу его разбить на строки спец символом переводом каретки и присвоить строки переменным таким примерно скрптом

for /f "delims=/n tokens=1" %%a in (1.txt) do @set string1=%%a

for /f "delims=/n tokens=2" %%a in (1.txt) do @set string2=%%a



но ничего касающего спец символов в cmd я не обнаружил может кто чего посоветует.
Аватара пользователя
amel27

Re: CMD/BAT - Спец символы в cmd ?

Сообщение amel27 »

Цитата obli:



присвоить строки переменным
CMD/BAT - Спец символы в cmd ?




FOR и без всяких триксов бьёт построчно:



Код:

Код: Выделить всё

@echo off
setlocal EnableDelayEdexpansion
for /f "delims=" %%a in (1.txt) do set /a $n+=1& set "string!$n!=%%a"
set string&pause>nul
Аватара пользователя
obli

Re: CMD/BAT - Спец символы в cmd ?

Сообщение obli »

p2 и p3 локальными получаются а если их в глобальные



PS HELP FOR курит нихрена он мне не помог только головная боль от него .
Аватара пользователя
obli

Re: CMD/BAT - Спец символы в cmd ?

Сообщение obli »

Цитата obli:



у for в качестве разделителей пробел и таб
CMD/BAT - Спец символы в cmd ?




эти разделители применяются УЖЕ к строке, все штатные средства работают с текстом только построчно
Аватара пользователя
obli

Re: CMD/BAT - Спец символы в cmd ?

Сообщение obli »

Еще один вопрос а тут в качестве множество можно использовать переменную ?



for {%переменная|%%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]



переменную которая содержит строку 111 555 333 444 чтоб потом значения

этой строки 111 555 333 и 4444 присвоить отдельным переменным
Аватара пользователя
obli

Re: CMD/BAT - Спец символы в cmd ?

Сообщение obli »

Еще один вопрос а тут в качестве множество можно использовать переменную ?



for {%переменная|%%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]



переменную которая содержит строку 111 555 333 444 чтоб потом значения

этой строки 111 555 333 и 4444 присвоить отдельным переменным
Аватара пользователя
amel27

Re: CMD/BAT - Спец символы в cmd ?

Сообщение amel27 »

obli, не уверен что точно понял вопрос, но перебрать можно так:



Код:

Код: Выделить всё

for %%i in (раз два три) do echo %%i
Аватара пользователя
obli

Re: CMD/BAT - Спец символы в cmd ?

Сообщение obli »

я исправил предыдущий пост чтоб немного поясней было



вроде так я должен получить 2 и 3 параметр из строки 111 555 333 444 которая находится в %string1





for /L "tokens=2" %%a in (!%string1%!) do @set 2=%%a

for /L "tokens=3" %%a in (!%string1%!) do @set 3=%%a



но увы ругается "tokens=2" was unexpected at this time
Аватара пользователя
amel27

Re: CMD/BAT - Спец символы в cmd ?

Сообщение amel27 »

Код:

Код: Выделить всё

@echo off
set string1=111 555 333 444
for /f "tokens=2,3" %%a in ("%string1%") do (
  set "p2=%%a"
  set "p3=%%b"
)
set p2
set p3
pause>nul
Аватара пользователя
obli

Re: CMD/BAT - Спец символы в cmd ?

Сообщение obli »

да я бы врядли сам бы додумал Агромное мерси так бы ещеб неделю мучился
Ответить

Вернуться в «Скриптовые языки администрирования Windows»