2015-09-26 281 views
-1

我使用此线程的脚本accepted answer from Mofi。脚本复制文件夹并将其存储在文本文件中,以便在下次运行时排除一次复制的文件夹。批处理 - 在文本文件中查找字符串并删除整行

有时我有文件夹[incomplete]-different.names,我不想复制这个文件夹。我希望所有带有字符串[incomplete]-的文件夹以及后面的名称都被跳过或甚至没有写入文本文件%CurrentList%以供进一步处理。

这些是我以前的尝试,但到目前为止,我无法用顶部的脚本起床和运行。 帮助会很好,并提前感谢。

尝试1:

for /f "delims=" [incomplete]-%%D in ("%CurrentList%") do ( set str=%%D set str=!str: =! set str=!str: %%D =! echo !str!

尝试2:

findstr /v /b /c:"[incomplete]-"%%D" "%CurrentList%" del "%%D"

+0

'findstr'使用正则表达式,'['和']'是正则表达式字符。没有看到你想要过滤的例子,我们不知道需要处理什么字符。或者,'find.exe'是一个更简单的过滤器。但没有准确的信息,你往往得不到好的建议。 – foxidrive

回答

0

你是非常接近你的第二次尝试。

如果您只想删除包含字符串[incomplete]-的%CurrentList%中的行,则可以将findstr /v的输出指向临时文件,然后用该文件覆盖CurrentList。

findstr /v /c:"[incomplete]-" "%CurrentList%" >tmpList.txt 
move /y tmpList.txt "%CurrentList%" >nul 
相关问题