Findstr question

  • Thread starter Thread starter Jon Smith
  • Start date Start date
J

Jon Smith

I need to run a find or findstr command on a dir with text files, and I need
the lines reterned that get matches, but I DON'T want the file names as
well, just the strings from the files. is there anyway to do that? I've
been pulling my hair out on this one.

the output I'm getting from FIND is

****************
FIND "BASEURL" *.url

---------- SLASHDOT.URL
BASEURL=http://slashdot.org/
---------- THE REGISTER USA.URL
BASEURL=http://www.theregus.com/
****************

and on findstr I'm getting

****************
Slashdot.url:BASEURL=http://slashdot.org/
The Register USA.url:BASEURL=http://www.theregus.com/
****************

but what I want is
****************
http://slashdot.org/
http://www.theregus.com/
****************

thanks
 
Jon said:
I need to run a find or findstr command on a dir with text files, and I need
the lines reterned that get matches, but I DON'T want the file names as
well, just the strings from the files. is there anyway to do that? I've
been pulling my hair out on this one.

the output I'm getting from FIND is

****************
FIND "BASEURL" *.url

---------- SLASHDOT.URL
BASEURL=http://slashdot.org/
---------- THE REGISTER USA.URL
BASEURL=http://www.theregus.com/
****************

and on findstr I'm getting

****************
Slashdot.url:BASEURL=http://slashdot.org/
The Register USA.url:BASEURL=http://www.theregus.com/
****************

but what I want is
****************
http://slashdot.org/
http://www.theregus.com/
****************

thanks

From the CMD prompt:

for /f "tokens=2 delims==" %a in ('findstr "BASEURL" *.url') do @echo %a

In a batch file:

for /f "tokens=2 delims==" %%a in ('findstr "BASEURL" *.url') do echo %%a
 
I need to run a find or findstr command on a dir with text files, and I need
the lines reterned that get matches, but I DON'T want the file names as
well, just the strings from the files. is there anyway to do that? I've
been pulling my hair out on this one.

the output I'm getting from FIND is

****************
FIND "BASEURL" *.url

---------- SLASHDOT.URL
BASEURL=http://slashdot.org/
---------- THE REGISTER USA.URL
BASEURL=http://www.theregus.com/
****************

Just to add to Phil's solution, you can use find as a filter.

From the command line

for %a in (*.htm) do find "BASEURL" <%a


double the %'s for a batch file.

np
 
sorry for another question, but I'm trying to pipe this to a file and I'm
doing

for /f "tokens=2 delims==" %a in ('findstr /s "BASEURL"
"%homepath%/favorites\*.url"') do @echo %a > c:\bookmark.txt

and it's not working but it's echoing fine, is there something elce i need
to put in there?

Thanks
 
Jon Smith said:
sorry for another question, but I'm trying to pipe this to a file and I'm
doing

for /f "tokens=2 delims==" %a in ('findstr /s "BASEURL"
"%homepath%/favorites\*.url"') do @echo %a > c:\bookmark.txt

and it's not working but it's echoing fine, is there something elce i need
to put in there?
Hello Jon,

your posting will be better readable if you omit unrelevant parts and
continue at the end.

The single > creates the file anew every time. Delete the file at start
and then append to it with the doubled >> redirection.

HTH
 
Jon Smith said:
sorry for another question, but I'm trying to pipe this to a file and I'm
doing

for /f "tokens=2 delims==" %a in ('findstr /s "BASEURL"
"%homepath%/favorites\*.url"') do @echo %a > c:\bookmark.txt

This should work:
for /f "tokens=2 delims==" %a in ('findstr /s "BASEURL"
"%homepath%/favorites\*.url"') do @echo %a >> c:\bookmark.txt

double > (">>") to append entries to the file. With a single > you are
overwriting the file for each new entry so that in the end only the last
entry would appear in the file.
 
Back
Top