![]() |
Вытащить кусок из строки вида ... | ... | ... |
Уважаемые знатоки, подскажите пожалуйста, как из пачки строк вида:
Код:
v2.20|Action=Allow|Active=FALSE|Dir=In|Profile=Domain|Profile=Private|Name=@{microsoft.windowscommunicationsapps_16.4.4206.722_x64__8wekyb3d8bbwe?ms-resource://microsoft.windowscommunicationsapps/resources/communicationsPackageName}|Desc=@{microsoft.windowscommunicationsapps_16.4.4206.722_x64__8wekyb3d8bbwe?ms-resource://microsoft.windowscommunicationsapps/resources/communicationsPackageName}|LUOwn=S-1-5-21-1311539638-139220600-4108783082-1001|AppPkgId=S-1-15-2-2551677095-2355568638-4209445997-2436930744-3692183382-387691378-1866284433|EmbedCtxt=@{microsoft.windowscommunicationsapps_16.4.4206.722_x64__8wekyb3d8bbwe?ms-resource://microsoft.windowscommunicationsapps/resources/communicationsPackageName}|Platform=2:6:2|Platform2=GTEQ| Есть идея? |
Как-то так:
Код:
@echo off |
Может быть эдак?
Код:
@Echo Off Если Name= не надо, то Код:
@Echo Off Set SS=!SS:^|=" "! Подсмотрел у Iska, |
А если «delims» окажется не «}»?! Тогда уж лучше до пробела.
|
Iska, Сложно судить, что лучше, а если пробел внутри Name=@{.... ....}? Похоже, формат присваивания подразумевает парные скобки, но это тоже мои домыслы.
|
megaloman, респект.
К решению близко, однако 1 вариант ругается когда ему дают раздел реестра Windows вместо файла Код:
reg query HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy\FirewallRules /s Iska, работает отлично! Скрипт достойный ветерана, спасибо в 2000-й раз ;) . |
Код:
@Echo Off |
megaloman, так работает. Вижу, поменяли разделитель во 2-м цикле и убрали лишнюю строку в 1-м. В общем, получился альтернативный, короткий код.
Спасибо участникам конференции. |
Время: 05:00. |
Время: 05:00.
© OSzone.net 2001-