Regex 批处理文件命令-从文件中删除带有短语的行

Regex 批处理文件命令-从文件中删除带有短语的行,regex,batch-file,command-line,Regex,Batch File,Command Line,我试图从设备上安装的程序列表中删除不必要的行 目前正在使用: type "original.txt" | findstr /v "Click-to-Run" | findstr /v "Visual C++" | findstr /v "Windows*SDK*" > "example_new.txt" 我需要它删除诸如“Windows桌面SDK工具”之类的行,但保留诸如“.Net Framework 4.0.0 SDK”之类的行 如何使其仅删除包含指定的整个短语的行? 在短语中使用通

我试图从设备上安装的程序列表中删除不必要的行

目前正在使用:

type "original.txt" | findstr /v "Click-to-Run" | findstr /v "Visual C++" | findstr /v "Windows*SDK*"  > "example_new.txt"
我需要它删除诸如“Windows桌面SDK工具”之类的行,但保留诸如“.Net Framework 4.0.0 SDK”之类的行

如何使其仅删除包含指定的整个短语的行? 在短语中使用通配符时,是否可以这样做


非常感谢

通过使用
/g
开关(有关详细信息,请参阅
findstr/?
),您可以使您的生活更轻松(尤其是当您的列表很长时)

包含“要忽略”列表的
exclude.txt
(允许使用正则表达式):


(由于
/g
包含
/c
,所以空格没有问题)

findstr有一个小的REGEX子集(足以执行您想要的操作)。应该完全回答您的问题。findstr/v/C:“Windows.*SDK”不适用于我。我想既然我声明的是文字?对不起,我是新来的。这需要包括整个短语,但也需要包含任意字符或中间没有字符的通配符。我看到使用了。*而不是*,但不起作用。找到了!非常感谢。我需要:findstr/V/R/C:“Windows.*SDK”
type "original.txt" | findstr /vrg:"exclude.txt" > "example_new.txt"
Click-to-Run
Visual C++
Windows.*SDK