CMD/BAT - Спец символы в cmd ?
-
obli
CMD/BAT - Спец символы в cmd ?
Есть текстовый 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 я не обнаружил может кто чего посоветует.
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 ?
Цитата obli:
присвоить строки переменным
FOR и без всяких триксов бьёт построчно:
Код:
присвоить строки переменным
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 ?
p2 и p3 локальными получаются а если их в глобальные
PS HELP FOR курит нихрена он мне не помог только головная боль от него .
PS HELP FOR курит нихрена он мне не помог только головная боль от него .
-
obli
Re: CMD/BAT - Спец символы в cmd ?
Цитата obli:
у for в качестве разделителей пробел и таб
эти разделители применяются УЖЕ к строке, все штатные средства работают с текстом только построчно
у for в качестве разделителей пробел и таб
CMD/BAT - Спец символы в cmd ?
эти разделители применяются УЖЕ к строке, все штатные средства работают с текстом только построчно
-
obli
Re: CMD/BAT - Спец символы в cmd ?
Еще один вопрос а тут в качестве множество можно использовать переменную ?
for {%переменная|%%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]
переменную которая содержит строку 111 555 333 444 чтоб потом значения
этой строки 111 555 333 и 4444 присвоить отдельным переменным
for {%переменная|%%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]
переменную которая содержит строку 111 555 333 444 чтоб потом значения
этой строки 111 555 333 и 4444 присвоить отдельным переменным
-
obli
Re: CMD/BAT - Спец символы в cmd ?
Еще один вопрос а тут в качестве множество можно использовать переменную ?
for {%переменная|%%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]
переменную которая содержит строку 111 555 333 444 чтоб потом значения
этой строки 111 555 333 и 4444 присвоить отдельным переменным
for {%переменная|%%переменная} in (множество) do команда [ПараметрыКоманднойСтроки]
переменную которая содержит строку 111 555 333 444 чтоб потом значения
этой строки 111 555 333 и 4444 присвоить отдельным переменным
-
amel27
Re: CMD/BAT - Спец символы в cmd ?
obli, не уверен что точно понял вопрос, но перебрать можно так:
Код:
Код:
Код: Выделить всё
for %%i in (раз два три) do echo %%i-
obli
Re: CMD/BAT - Спец символы в cmd ?
я исправил предыдущий пост чтоб немного поясней было
вроде так я должен получить 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
вроде так я должен получить 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 ?
Код:
Код: Выделить всё
@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 ?
да я бы врядли сам бы додумал Агромное мерси так бы ещеб неделю мучился