0

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

第一个参数是数据文件,第二个参数是业务文件,其中刚刚读取的数据将被删除。我已经写了一批,不幸的是没有从我的业务文件中删除任何数据。事实上,输出文件“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

请帮帮我!

4

1 回答 1

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

应该实现这个目标。

/g:从文件中获取要匹配的字符串。/L强制进行文字(不是正则表达式)匹配。/b /e强制匹配以字符串开头和结尾的行-因此仅在完全匹配时才匹配-而不仅仅是在部分匹配时匹配。

于 2013-07-18T02:23:13.650 回答