我有一个包含某些ID列表的文件。每个ID都在它自己的行上,并且在同一行上可能有一些额外的文本。我还有一个文件,其中包含需要从第一个文件中删除的已确认的错误ID列表。
我想我可以为findstr /v <bad ID> IDs.txt > IDs.txt
的每一行运行BadIDs.txt
。我的代码是这样的:
for /F "tokens=*" %%A in ("c:\BadIDs.txt") do findstr /v %%A "c:\IDs.txt" > "c:\IDs.txt"
它最终给了我一个空文件。我做错了什么?
答案 0 :(得分:0)
工作代码:
for /F "tokens=*" %%A in (c:\BadIDs.txt) do (
findstr /v %%A c:\IDs.txt > c:\IDsTemp.txt
move /y c:\IDsTemp.txt c:\IDs.txt > nul
)