Code:
Do While Not WScript.StdIn.AtEndOfStream
Input = Input & WScript.StdIn.ReadAll
Loop
Set regEx = New RegExp
regEx.Pattern = "STRINGSTART.*?STRINGEND"
regEx.IgnoreCase = False
regEx.Global = True
Set objMatches = regEx.Execute(Input)
For Each objMatch in objMatches
s = ObjMatch.Value
s = Replace(s,"STRINGSTART", "")
s = Replace(s,"STRINGEND", "")
WScript.Stdout.Write s & ","
Next
Nije kratko, ali evo meni trebalo koliko, 10-tak minuta da to napišem. Ozbiljno, ne koristim uopšte regexp niti sam majstor za ovakve stvari (skriptovanje). Još i nisam znao kako da izbacim STRINGSTART i STRINGEND iz privremenih rezultata pa sam koristio Replace funkciju da ih zamenim sa praznim stringom :) U stvari najviše vremena mi je i uzeo ovaj "komplikovani" regex. Da ne bih i dalje otezao i maltretirao se, na kraju sam i upotrebio onu Replace funkciju :)
Ako ovo sačuvaš pod imenom skripta.vbs i pokreneš sa
type ulaz.txt | cscript //nologo skripta.vbs > izlaz.txt
dobićeš izlaz koji tražimo za taj jedan ulazni fajl. Npr. ako je ulazni fajl ulaz.txt:
STRINGSTART
MarkoSTRINGENDblablablalbalballalbalbalalaa
bbbbbbbbbbSTRINGSTART
DejanSTRINGEND
u izlaz.txt dobivamo:
Marko,Dejan,
Ne vidim da je problem da se stavi u FOR petlju u DOS-u kao onomad sa Časlavom, koja bi pronašla sve potrebne fajlove ispod nekog foldera, i prosledila ih ovoj skripti, itd. Naravno, kao i tamo, koristili bi >> umesto > za dodavanje na kraj postojećeg izlaznog fajla.
Toliko od mene, nije bilo teško, ne sumnjam da je na nix sistemu moguće sve strpati u jednu liniju. Nemam pojma, možda bi moglo i ovde još kraće, meni i ovako izgleda OK prilično, s obzirom koliko imam znanja za ovakve stvari i koliko vremena sam utrošio.
Pozdrav :)
UPDATE:
evo rasssha, dobio si rešenje, sve iz inata :) Kucaj u command promptu:
FOR /R . %i IN (*.txb) DO type "%i" | cscript.exe //nologo skripta.vbs >> izlaz.txt
Ovo će krenuti od trenutnog foldera u kom se nalaziš (tu stavi i skripta.vbs fajl) i tražiti sve *.txb fajlove u tom i folderima ispod. Proslediće ih onoj skripti i izlaz na kraju imaš u izlaz.txt u tom istom folderu.
Commercial-Free !!!