我想在文本文件中说:
Planets.txt
火星
地球
木星
土星
火星
天王星
木星
冥王星
如何删除所有匹配项,并将文字文件中的单词显示一次?
Output_Planets.txt (出现次数:火星,木星)
火星
地球
木星
土星
天王星
冥王星
我不知道怎么做...谢谢。
答案 0 :(得分:1)
@ECHO OFF
SETLOCAL
:: establish a zero-byte output file
SET "newfile=u:\newfile.txt"
COPY /y nul "%newfile%" 2>NUL >nul
FOR /f "delims=" %%a IN (q33645665.txt) DO (
FINDSTR /x /i /l /c:"%%a" "%newfile%" >NUL
IF ERRORLEVEL 1 >>"%newfile%" ECHO %%a
)
TYPE "%newfile%"
GOTO :EOF
我使用了一个名为q33645665.txt
的文件,其中包含我的测试数据。
制作u:\ newfile.txt
如果在新文件中找到匹配FINDSTR
的字符串, errorlevel
会将0
设置为%%a
。 /x
强制匹配在整行上,/i
指定匹配不区分大小写。 /l
使匹配文字,而不是正则表达式和字符串前面的/c:
指定提供的字符串是一个元素,而不是一组字符串,以便包含分隔符的字符串谎言空间可以匹配。