在批处理中将数据集删除到文件中

时间:2013-07-18 01:13:31

标签: batch-file

我需要删除业务文件中的一些特定数据。必须完全从业务文件中删除所有这些数据。我注意到数据写在另一个文件中,每个文件都在一行上。

第一个参数是数据文件,第二个参数是业务文件,其中将删除刚刚读取的数据。 我写了一个批处理,不幸的是没有数据从我的业务文件中删除。实际上,输出文件“result.txt”与每个特定的“%~2”匹配。

@for /F "usebackqdelims=" %%a in ("%~1") do (
findstr /v /c:%%a "%~2" >result.txt
)

在处理结束时,result.txt不应该删除任何数据请求。

如果需要,请查看我的数据文件的结构。其中一些项目出现在业务文件中。

ab@&t/fr
$gr;top
a^p/usa

请帮帮我!

1 个答案:

答案 0 :(得分:2)

FINDSTR /g:"%~1" /L /v /b /e "%~2" >u:\result.txt

应该实现这个目标。

/g:从文件中获取字符串匹配。 /L强制进行文字(非正则表达式)匹配。匹配的/b /e强制对抗BEGIN和END与字符串的行 - 因此只有在存在完全匹配时才匹配 - 不仅仅是部分匹配。