41 lines
1.1 KiB
Batchfile
41 lines
1.1 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
%==Sample list==%
|
|
set "data=foo, bar, baz, quux, quuux, quuuux, bazola, ztesch, foo, bar, thud, grunt"
|
|
set "data=%data% foo, bar, bletch, foo, bar, fum, fred, jim, sheila, barney, flarp, zxc"
|
|
set "data=%data% spqr, wombat, shme, foo, bar, baz, bongo, spam, eggs, snork, foo, bar"
|
|
set "data=%data% zot, blarg, wibble, toto, titi, tata, tutu, pippo, pluto, paperino, aap"
|
|
set "data=%data% noot, mies, oogle, foogle, boogle, zork, gork, bork"
|
|
|
|
%==Sample "needles" [whitespace is the delimiter]==%
|
|
set "needles=foo bar baz jim bong"
|
|
|
|
%==Counting and Seperating each Data==%
|
|
set datalen=0
|
|
for %%. in (!data!) do (
|
|
set /a datalen+=1
|
|
set data!datalen!=%%.
|
|
)
|
|
%==Do the search==%
|
|
for %%A in (!needles!) do (
|
|
set "first="
|
|
set "last="
|
|
set "found=0"
|
|
for /l %%B in (1,1,%datalen%) do (
|
|
if "!data%%B!" == "%%A" (
|
|
set /a found+=1
|
|
if !found! equ 1 set first=%%B
|
|
set last=%%B
|
|
)
|
|
)
|
|
|
|
if !found! equ 0 echo."%%A": Not found.
|
|
if !found! equ 1 echo."%%A": Found once in index [!first!].
|
|
if !found! gtr 1 echo."%%A": Found !found! times. First instance:[!first!] Last instance:[!last!].
|
|
|
|
)
|
|
%==We are done==%
|
|
echo.
|
|
pause
|