|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Разбить строку, содержащую кавычки, на несколько. |
|
CMD/BAT - Разбить строку, содержащую кавычки, на несколько.
|
Новый участник Сообщения: 14 |
Здравствуйте, форумчане!
Прошу помощи в разработке скрипта. Имеется строка вида: 1|Russian|Dub, Blu-ray CEE}}}2|Ukrainian|DVO}}}3|Russian|MVO, "DVD Magic"}}}4|Russian|VO, Gotlib}}}5|English}}} В основной строке могут быть любые символы, включая кавычки. |
|
Отправлено: 20:55, 26-05-2022 |
fascinating rhythm Сообщения: 6662
|
Профиль | Отправить PM | Цитировать Например, так:
1|Russian|Dub, Blu-ray CEE2|Ukrainian|DVO3|Russian|MVO, "DVD Magic"4|Russian|VO, Gotlib5|English -split '(?=\d+\|)' Upd: да, так работает, можно обойтись вообще без доп. обработки. |
------- Последний раз редактировалось DJ Mogarych, 27-05-2022 в 18:04. Отправлено: 17:40, 27-05-2022 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2732
|
Профиль | Отправить PM | Цитировать ioSIS,
Цитата ioSIS:
Я сымитировал вашу утилиту командой More c выдачей строки из текстового файла. Вот два варианта, если устроит выдача результата в кавычках. @Echo Off cls Echo Вариант 1 For /f "usebackq tokens=1,2,3,4,5 delims=}" %%i In (`More яяяю.txt`) Do ( Echo "%%i" Echo "%%j" Echo "%%k" Echo "%%l" Echo "%%m" ) Echo. &Echo Вариант 2 For /f "usebackq tokens=1,2,3,4,5 delims=}" %%i In (`More яяяю.txt`) Do ( Set "@@a1="%%i"" Set "@@a2="%%j"" Set "@@a3="%%k"" Set "@@a4="%%l"" Set "@@a5="%%m"" ) Echo %@@a1% Echo %@@a2% Echo %@@a3% Echo %@@a4% Echo %@@a5% pause Exit /B |
|
------- Отправлено: 18:57, 27-05-2022 | #12 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Плюс, у Вас можно вывести только 5 строк, а их в выводе команды может быть сколько угодно. Воспользовался советом DJ Mogarych на счет \n в выводе MediaInfo.exe. Но это частный случай с этой утилитой. Вопрос в общем остается открытым: Как с помощью CMD разбить строку на подстроки по разделителю, если она содержит спец-символы? |
|
Отправлено: 12:44, 28-05-2022 | #13 |
Старожил Сообщения: 193
|
Профиль | Отправить PM | Цитировать Цитата ioSIS:
Если так будет понятнее, то вы спрашиваете "как на черно-белом ламповом тв запустить приложение кинопоиск и включить мстителей в 4к", а вам отвечают, что таких тв уже нет ни у кого, и вам нужен смарт-тв с приложениями и 4к разрешением. |
|
Отправлено: 13:07, 28-05-2022 | #14 |
Новый участник Сообщения: 14
|
Профиль | Отправить PM | Цитировать Цитата Fors1k:
Вот еще подсказали способ разбивать строку со спецсимволами с помощью WSH. Может пригодиться кому. Код сохранить в .bat и запускать как обычно: @set @x=0 /* @echo off chcp 65001 >nul set attr="%%StreamKindPos%%|%%Language/String%%|%%Title%%}}}" pushd "C:\Program Files\MediaInfo\" FOR /F "usebackq delims=" %%i IN (`mediainfo.exe --Output^=Audio^;%attr% %1`) DO ( set audio=%%i) popd set "audio=%audio:"=\*quotes*\%" cscript /nologo /e:javascript %0 "%audio%" goto :EOF */ var output=WScript.Arguments(0).replace(/\\\*quotes\*\\/gi,'"').replace(/}}}/gi,'\n').slice(0,-1); WScript.Echo(output); |
|
Отправлено: 22:49, 28-05-2022 | #15 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Разбить строку на части и выбрать нужную часть в переменную | virginkoks | Скриптовые языки администрирования Windows | 8 | 15-12-2020 05:15 | |
CMD/BAT - Разбить строку на две подстроки по последнему символу \ | kokos76 | Скриптовые языки администрирования Windows | 2 | 09-01-2016 09:32 | |
Flash - разбить флэшку на несколько разделов | Юzverь | Накопители (SSD, HDD, USB Flash) | 48 | 11-11-2015 12:04 | |
Flash - Разбить на несколько разделов. | nokogerra | Накопители (SSD, HDD, USB Flash) | 0 | 21-09-2015 19:58 | |
Любой язык - [решено] Как разбить одну строку на много строк | KooDI | Скриптовые языки администрирования Windows | 56 | 06-08-2013 23:26 |
|