|To throw my two cents in, I would add the /b switch to look for the search strings only at the beginning of the line:|
findstr /b "HH" testtext.txt > header.txt
findstr /b "A" testtext.txt > body.txt
findstr /b "T" testtext.txt > trailer.txt
Untested, relating to second question:
findstr /r "^[^HAT]" testtext.txt > investigate.txt
In theory, the above would use regular expressions (/r) to search at the beginning of the line (first ^) for any character not (second ^) in the class (everything between [ and ]) "HAT".
The following which adds the wild card: "." and repeat: "*" may be more appropriate:
findstr /r "^[^HAT].*" testtext.txt > investigate.txt
When your only tool is a hammer, every problem looks like a nail.