DOS删除文件的一些内容,而不是整个文件

来源:百度知道 编辑:UC知道 时间:2024/06/15 09:23:23
我们用COPY a+b C 这样可以把两个文件合成一个文件。
如果我们要从一个文件中删除一些内容请问怎么做。用什么命令?
不是删除整个文件。

比如我要从文件A中(文件A包含了文件B所有内容)。删除和文件B相同的内容。怎么办

没有这样的命令,不过倒是可以用复杂点的方法来实现
写个批处理,读取B文件的每一行内容,然后在A文件中查找该内容,如果没有找到,则保留并输出到文件C,找到则丢掉,最后C文件就是你想要的了

以下是批处理代码,文件分别是A.TXT、B.TXT、C.TXT,以行为单位来实现A-B,
行内包含不删除,有什么不明白给我消息。
@echo off
SetLocal EnableDelayedExpansion
for /f "tokens=1* delims=:" %%i in ('findstr /n . "A.txt"') do (
set IsFound=NO
for /f "tokens=1* delims=:" %%x in ('findstr /n . "B.txt"') do (
if "%%j"=="%%y" set IsFound=YES
)
if "!IsFound!"=="NO" echo %%j >>C.txt
)

这个貌似要折中一下,从a中读取你要保留的内容生成一个新文件c。我印象中只是折中办法。

回答真是精辟,不行!

不行