如何通过批处理文件从文本文件中删除不需要的行?

Sam*_*aan 4 dos batch-file

我有一个文本文件,其中包含以下内容,并带有一些不需要的行,这些行我想从文本文件中删除。

1233,pqry,01/11/2011
2365698,abcd,2011/01/12
,defghj,11/12/2013
,,,
,,,
,,,
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,我们可以看到有多行用逗号分隔。我想通过批处理文件从文本文件中删除这些行。请帮我

MC *_* ND 5

ren myFile.txt myFile.txt.old
findstr /v /b /c:",,," myFile.txt.old > myFile.txt
Run Code Online (Sandbox Code Playgroud)

将文件重命名为.old。在旧文件的行首找到所有不包含“,”的行,并将其保存到原始文件。

编辑-适应评论

如果要删除的行是仅带有逗号(我将包含空格)且没有其他值的行,则此行应该有效

for %%t in (c:\path\*.txt) do (
    ren "%%~ft" "%%~nxt.old"
    findstr /v /r /c:"^[, ]*$" "%%~ft.old" > "%%~ft"
)
Run Code Online (Sandbox Code Playgroud)

对于路径中的每个文件,将文件重命名为*.old,从该.old文件中提取所有不包含(/v/r由模式(/c)定义的正则表达式()的行:“从行(^)的开头,后跟任意空格和逗号序列([, ]*)直到行($)的末尾”。提取的行将发送到原始文件名。