You can use FIND command with /V parameter, e.g.
find /V "0 Files Copied" log.txt > log2.txt
But this will only remove the lines with "0 Files Copied"; this command wouldn't allow you to remove the line which follows.
You can also use FINDSTR, which allows to search for regualr expressions.
findstr /V /R /C:"^0 Files Copied$" log.txt > log2.txt
You can also use findstr to independently remove lines with dates using an appropriate regular expression.
There is a way to search across multiple lines with findstr, but this method doesn't work well with /V option, as only the 1st line of the match is filtered. So you cannot use findstr to remove both the line which matches and the following line.
If you do need to do specifically that, I think your best bet is to use some alternative of grep for Windows.
You can also use Powershell with the following simple script. Just copy and paste it in the powershell command line, and press Enter twice to start execution. Make sure that input file is in your current folder.
$Lines = Get-Content "input.log"
for ($num = 0; $num -lt $lines.Count; $num++ ) {
if ($Lines[$num] -match "0 Files Copied") {
$num++; #skip next line
continue
}
if ($num -match 0) {
$Lines[$num] > "output.log" }
else {
$Lines[$num] >> "output.log" }
}