我需要一个批处理文件来挑选FileA中的每个字符串(1个字符串= 1行)并在FileB中搜索它并从此FileB中删除包含此字符串的完整行。
我尝试使用以下几种组合:
findstr /vixg:"FileA" "FileB" >"File.new"
type FileA.txt |findstr /v I%%
你们有解决方案吗?
由于
答案 0 :(得分:0)
尝试这样的事情:
for /f "tokens=*" %%i in (fileA.txt) do ( type fileB.txt | find "%%~i" /v > fileB.txt )
答案 1 :(得分:0)
我希望这些状态可以帮到你:
@echo off
set /p A="Insert first file path: "
:: FileA
set /p B="Insert second file path: "
:: FileB
for /f "delims=¶" %%g in (%B%) do (
findstr /c:"%%g" %A% > nul || echo %%g >> TEMP.txt
)
del /P %B%
ren TEMP.txt %B%
pause
但是,通过这些陈述,可以比较整行而不仅仅是一行的部分,但我希望无论如何你都在寻找。
答案 2 :(得分:0)
可能最短的解决方案是使用grep
,这个特定工作的正确工具。使用-f
选项从FileA
而不是从命令行读取模式,使用-v
选项取消匹配(即打印任何不的行匹配):
grep -v -f FileA FileB