1/5/2017 - 1:23 PM




for /F "delims=" %%i in (%btchinfofile%) do (  
  set btchinfoline=%%i
  goto BREAK1
REM echo %btchinfoline%
set l=%~1
for /f "tokens=1* delims=:" %%G in ('findstr /n "^" c:\Users\P.Doulgeridis\Desktop\EADEYTERA') do (
if %%G equ %l% (
	set "line=%%H"
	GOTO end

REM CALL:tokenline 3
REM echo %line%
REM set fixedline=%line:~91,3%
REM echo %fixedline%


::Change "skip" to read other lines
for /f "delims== skip=1" %%G IN (C:\Users\P.Doulgeridis\Desktop\EADEYTERA) DO if not defined lineea set "lineea=%%G"
REM echo %lineea%
SET fixedline=%lineea:~91,3%
echo JULIAN DATE FROM  EAFILE : %fixedline%

:: Path to Data File 
SET FILESNOTFOUND=C:\Users\p.doulgeridis\Desktop\TEMPFNF.TXT
SET MSGBOX=C:\Users\p.doulgeridis\Desktop\CODES\MYCODES\CHECKER\messagebox.vbs
SET MAILDIR=C:\Users\p.doulgeridis\Desktop\CODES\MYCODES\CHECKER\


:: read file line by line

for /f "tokens=*" %%c in (%DATAFILEPATH%) do (
  ECHO Locating file %%c 
  IF EXIST %%c (
    call :ColorText 0a "FILE EXISTS!"
	) ELSE (
	call :ColorText 0c "FILE NOT FOUND!"
	SET /A FLAG = 1
for /f "Tokens=* Delims=" %%x in (%FILESNOTFOUND%) do set Build=!Build!%%x

:: Stores entire file in Build
1. DOS_read1stline                  : Reads the first line from a file
2. DOS_readanyoneline               : Reads line number entered as param
3. DOS_findstr                      : Various pattern matching ops (like SED)
4. DOS_FileIntoVar                  : Read an entire file into a variable
5. DOS_LineByLine                   : Read file line by line
::Searches for patterns of text in files using regular expressions.
::findstr [/b] [/e] [/l] [/r] [/s] [/i] [/x] [/v] [/n] [/m] [/o] [/p] [/offline] [/g:file] [/f:file] [/c:string] [/d:dirlist] [/a:ColorAttribute] [strings] [[Drive:][Path] FileName [...]]
::/b   : Matches the pattern if at the beginning of a line.
::/e   : Matches the pattern if at the end of a line.
::/l   : Uses search strings literally.
::/r   : Uses search strings as regular expressions. Findstr interprets all metacharacters as regular expressions unless you use /l.
::/s   : Searches for matching files in the current directory and all subdirectories.
::/i   : Specifies that the search is not to be case-sensitive.
::/x   : Prints lines that match exactly.
::/v   : Prints only lines that do not contain a match.
::/n   : Prints the line number before each line that matches.
::/m   : Prints only the file name if a file contains a match.
::/o   : Prints seek offset before each matching line.
::/p   : Skips files with non-printable characters.
::/offline   : Processes files with offline attribute set.
::/f: file   : Reads file list from the specified file.
::/c: string   : Uses specified text as a literal search string.
::/g: file   : Gets search strings from the specified file.
::/d: dirlist   : Searches a comma-delimited list of directories.
::/a: ColorAttribute   : Specifies color attributes with two hexadecimal digits.
::strings   : Specified text to be searched for in FileName.
::[ Drive : ][ Path ] FileName [...] : Specifies a file or files to search.
::/?   : Displays help at the command prompt.
::Using regular expressions with findstr 
::Findstr is capable of finding the exact text you are looking for in any ASCII file or files. However, sometimes you have only part of the information that you want to match, or you want to find a wider range of information. In such cases, findstr has the powerful capability to search for patterns of text using regular expressions.
::Regular expressions are a notation for specifying patterns of text, as opposed to exact strings of characters. The notation uses literal characters and metacharacters. Every character that does not have special meaning in the regular expression syntax is a literal character and matches an occurrence of that character. For example, letters and numbers are literal characters. A metacharacter is a symbol with special meaning (an operator or delimiter) in the regular-expression syntax.
::The following table lists the metacharacters that findstr accepts.
::Character     Value
::.        Wildcard: any character
::*        Repeat: zero or more occurrences of previous character or class
::^        Line position: beginning of line
::$        Line position: end of line
::[class]  Character class: any one character in set
::[^class] Inverse class: any one character not in set
::[x-y]    Range: any characters within the specified range
::\x       Escape: literal use of metacharacter x
::\<xyz    Word position: beginning of word
::xyz\>   Word position: end of word
::The special characters in regular expression syntax are most powerful when you use them together. For example, the following combination of the wildcard character (.) and repeat (*) character match any string of characters:
::Use the following expression as part of a larger expression that matches any string beginning with "b" and ending with "ing":

::Use spaces to separate multiple search strings unless the argument is prefixed with /c. To search for "hello" or "there" in file x.y, type:
findstr "hello there" x.y
::To search for "hello there" in file x.y, type:
findstr /c:"hello there" x.y
::To find all occurrences of the word "Windows" (with an initial capital W) in the file Proposal.txt, type the following:
findstr Windows proposal.txt
::To search every file in the current directory and all subdirectories that contained the word Windows, regardless of the letter case, type the following:
findstr /s /i Windows *.*
::To find all occurrences of lines that contain the word "FOR", preceded by any number of spaces, (as in a computer program loop), and to include the line number where each occurrence is found, type the following:
findstr /b /n /c:" *FOR" *.bas
::If you want to search for several different items in the same set of files, create a text file that contains each search criterion on a new line. You can also list the exact files you want to search in a text file. To use the search criteria in the file Finddata.txt, search the files listed in Filelist.txt, and then store the results in the file Results.out, type the following:
findstr /g:finddata.txt /f:filelist.txt > results.out
::Assume you wanted to find every file in the current directory and all subdirectories that contained the word computer, regardless of the letter case. To list every file containing the word computer, type the following:
findstr /s /i /m "\<computer\>" *.*
::Now assume you want to find not only the word "computer," but also any other words that begin with the letters comp, such as "compliment" and "compete. " type the following:
findstr /s /i /m "\<comp.*" *.*
rem You can try this.

FOR /R [directory] %%F IN (*.*) DO IF NOT "%%~xF" == ".[extension]" DEL /F /S "%%F"
Or, if you have only one .exe file, it’s even simpler.

for %i in (*.*) do if not %i == FILE.EXE del %i

rem To enhance the response of the question (was about excluding wildcards): if you do not search for a specific extension, you can use this for-loop:

for /F "usebackq" %i IN (`dir /b *^|findstr /i /v <PATTERN>`) DO @echo %i