编写批处理文件以删除以一组数字开头的行(例如 19:)并将文件保存到新位置

编写批处理文件以删除以一组数字开头的行(例如 19:)并将文件保存到新位置

我正在尝试编写一个批处理文件,从文本文件中删除以 19:、20:、21: 和 22: 开头的行,然后将文件保存到其他目录。我尝试过以下方法:

findstr /v /b "19:" SAT*.asc > new.asc

使用此字符串,它将删除以 19 开头的行:但随后将“SAT*.ASC”添加到文本文件的每一行(其中“*”是文件的日期,因此文件名为 SAT240101.ASC)

答案1

for %%f in (SAT*.asc) do (
  findstr /v /b "19:" "%%f" | findstr /v /b "20:" | findstr /v /b "21:" | findstr /v /b "22:" >"%%f_new.asc"
)

您可以使用带有正则表达式的单个findstr,但这种方式更简单。

相关内容