Лучший отвечающий
for /F "delims=кавычки" как правильно реализовать?

Вопрос
-
есть тесктовик в котором то что мне нужно разделено символом кавычек ". Как мне в BAT'нике вынуть то что мне нужно?
вот пример
FOR /F "tokens=2 usebackq delims=кавычки" %%i in ( "c:\file.txt" ) do echo %%i
20 апреля 2011 г. 11:51
Ответы
-
Вообще по уму в скриптинг бы этот вопрос.
А вообще ответ нашелся простым запросом в Гугль
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=*" %%a in (test.txt) do (
set x=%%a
set x=!x:"= !
for /f "tokens=1-3" %%a in ("!x!") do echo %%a %%b %%c
)и собственно ссылка на источник
- Предложено в качестве ответа _dim_ 21 апреля 2011 г. 5:58
- Помечено в качестве ответа Vinokurov YuriyModerator 21 апреля 2011 г. 12:05
20 апреля 2011 г. 13:50
Все ответы
-
Вообще по уму в скриптинг бы этот вопрос.
А вообще ответ нашелся простым запросом в Гугль
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=*" %%a in (test.txt) do (
set x=%%a
set x=!x:"= !
for /f "tokens=1-3" %%a in ("!x!") do echo %%a %%b %%c
)и собственно ссылка на источник
- Предложено в качестве ответа _dim_ 21 апреля 2011 г. 5:58
- Помечено в качестве ответа Vinokurov YuriyModerator 21 апреля 2011 г. 12:05
20 апреля 2011 г. 13:50 -
спасибо, попробую...
отлично - то что надо спасибо!21 апреля 2011 г. 4:10 -
скрипт оказался не полноценным:
содержание bat:
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=*" %%a in (test.txt) do (
set x=%%a
set x=!x:"= !
for /f "tokens=1-3" %%a in ("!x!") do echo %%a %%b %%c> file.txt
)
содержание файла test.txt
"hello world"hello1 world1"hello2 world2"
содержание результата - файла file.txt
hello world hello1
вопрос стоит что разделителями являются кавычки - и например надо вычленить 2й элемент чтобы результат был (без пробела на конце)
hello1 world1
жду ответа.22 апреля 2011 г. 5:49 -
@echo off
setlocal EnableDelayedExpansion
for /f "tokens=* delims=," %%a in (test.txt) do (
echo %%a - input string
set x=%%a
set x=!x:"=,!
for /f "tokens=1-3 delims=," %%a in ("!x!") do echo %%b
)-------
H:\LocalFiles\projects\TEST TEST TEST>delim.cmd
"hello world"hello1 world1"hello2 world2" - input string
hello1 world1-------
К комментарию о неполноценности. Телепатов нема, что вам там конкретно нужно парсить никто не знает. Вам привели пример который нужно уже Вам допилить напильником.
В даннном случае как промежуточный разделитель(до этого использовался пробел\табуляция) испольюзуются запятые.
Не нравится такое решение - используйте VBS или PoSh, там проще.
25 апреля 2011 г. 9:55 -
во! то что надо!
Спасибо огромное!26 апреля 2011 г. 9:25 -
Есть простое решение без лишнего текста:
FOR /F tokens^=2^ delims^=^" %%i in ( "c:\file.txt" ) do echo %%i
19 ноября 2019 г. 11:52