Windows 排除文件中与多值字符串匹配的所有行

Windows 排除文件中与多值字符串匹配的所有行,windows,batch-file,cmd,findstr,Windows,Batch File,Cmd,Findstr,这将在文件templast.m3u中查找字符串%exclude%,并将不匹配的行放入文件files.m3u findstr /irv "%exclude%" "%temp%\templist.m3u%" >%temp%\files.m3u 问题是字符串%exclude%有时可能有多个值,由,分隔,比如s0、s1、s3,最大值可能是——我不知道——五个值。我需要一个列表,其中所有与这些值匹配的行都将被删除。用空格替换,,以便为findstr定义多个搜索字符串……我怀疑它是否符合您所说的@B

这将在文件
templast.m3u
中查找字符串
%exclude%
,并将不匹配的行放入文件
files.m3u

findstr /irv "%exclude%" "%temp%\templist.m3u%" >%temp%\files.m3u

问题是字符串
%exclude%
有时可能有多个值,由
分隔,比如
s0、s1、s3
,最大值可能是——我不知道——五个值。我需要一个列表,其中所有与这些值匹配的行都将被删除。

用空格替换
,以便为
findstr
定义多个搜索字符串……我怀疑它是否符合您所说的@Bricktop。您声明它“在文件
templast.m3u
中查找字符串
%exclude%
”,但它似乎在名为
templast.m3u%
的文件中查找与变量的展开值相匹配的字符串!此外,根据您预期的可变值内容,您可能希望将
%exclude%
更改为
%exclude:,=%
@Compo我不知道他是否将s0、s1、s3称为季节,但无论如何,他应该通过一个示例来澄清,以了解更多他的目标!在我看来,问题是他们试图使用一个命令、多个命令或批处理文件作为查找和替换工具,而有数百种更好、更快、更用户友好的方法可以做到这一点。Hell是最基本的第三方文本编辑器,它可以做得更好,更不用说内置的WSH或PowerShell功能,它们使用正确的正则表达式。是否确实要将搜索字符串解释为正则表达式?如果不是,那么您需要
/ilv
而不是
/irv
。否则类似于
的内容将匹配任何字符而不是句点,以及无数其他可能的陷阱。