Solved

Delete files that contain a specific string

Posted on 2013-11-27
7
1,828 Views
Last Modified: 2013-11-30
I want to delete files that contain a specific string..

if exist *.txt findstr /c:"AB*123*" *.txt ... then delete the files

I need to know how to complete this.
0
Comment
Question by:100questions
7 Comments
 
LVL 18

Expert Comment

by:Steven Harris
ID: 39682696
I'm not sure what exactly you are trying to accomplish.  Try something like:

del *yourstring*.*

Open in new window


If it is the "AB*123*" you are searching for in a txt file, then:

del AB*123*.txt

Open in new window


If you want to do this recursively, use /s:

del /s *yourstring*.*

Open in new window

0
 

Author Comment

by:100questions
ID: 39682701
I want to delete the files that contain the string AB*123* within them, not within the name of the file
0
 
LVL 27

Expert Comment

by:tliotta
ID: 39683337
Are you needing to learn how to pipe output from findstr into a del command? That should be just about all that's need if I understand your question.

Tom
0
Don't lose your head updating email signatures!

Do your end users still have the wrong email signature? Do email signature updates bore you or fill you with a sense of dread? You can make this a whole lot easier on yourself by trusting an Exclaimer email signature management solution. Over 50 million users do...so should you!

 
LVL 18

Expert Comment

by:Steven Harris
ID: 39683435
You can run from console if you you are in the current directory:

for /f "eol=: delims=" %F in ('findstr /m AB*123* *.txt') do del "%F"

Open in new window


To run within batch file, change %F to %%F.


Make sure to run this as a test first to confirm the requirements are met.
0
 

Author Comment

by:100questions
ID: 39683463
for /f "eol=: delims=" %F in ('findstr /m AB*123* *.txt') do del "%F"

The above does not work.  I think it has to do with the fact that AB*123* is the string to look for, I don't think it's the correct syntax.   If you look for *123* then it will work.

I need for the command to look for AB*123* within the file itself, and once it finds this string, then to delete the file that it found the string inside.
0
 
LVL 18

Expert Comment

by:Steven Harris
ID: 39683576
OK, let's step back and look at it again...

Try running the following from directory where the files are.  You should return all file names that meet the criteria:

for /F %a in ('dir /b *.txt findstr "AB*123*"') do @echo del "%a"

Open in new window


Also, are you sure you are wanting the *?

for findstr:

 .         Wildcard: any character
 *         Repeat: zero or more occurrences of previous character or class
 ^         Line position: beginning of line
 $         Line position: end of line
0
 
LVL 52

Accepted Solution

by:
Bill Prew earned 500 total points
ID: 39683694
Should be as simple as this, from a command line do:

for /f "tokens=*" %A in ('findstr /i /m /c:"AB.*123" "c:\temp\*.txt"') do del "%~A"

Open in new window

or in a BAT script do:

for /f "tokens=*" %%A in ('findstr /i /m /c:"AB.*123" "c:\temp\*.txt"') do del "%%~A"

Open in new window

~bp
0

Featured Post

Why won’t your email signature format correctly?

Struggling to get your corporate email signatures to format correctly? Does the logo keep resizing? Is the text appearing too big? What can you do to prevent this? Find out how you can save your signatures today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Storage devices are generally used to save the data or sometime transfer the data from one computer system to another system. However, sometimes user accidentally erased their important data from the Storage devices. Users have to know how data reco…
Possible fixes for Windows 7 and Windows Server 2008 updating problem. Solutions mentioned are from Microsoft themselves. I started a case with them from our Microsoft Silver Partner option to open a case and get direct support from Microsoft. If s…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now