悬赏50分:怎样用批处理命令删除文本中指定字符所在整行

来源:百度知道 编辑:UC知道 时间:2024/06/22 01:51:32
112211
223322
334455
776688
990033
用批处理删除带22、66、99的整行,删除后的结果是这样:

334455

有一个名为aaa的文件夹,里面有几十个文本文件。这个批处理要删除aaa里的所有文本文件中的22、66、99所在的整行,必须直接在原文本中执行,不输出另一个新文件。批处理怎么写?
实在不行,批处理执行后就输出到另一个文件夹里,但这些文本名没有变,原来是什么名现在还是什么名。

@echo off
for /f "delims=" %%i in ('dir /b/s/a-d "c:\aaa\*.txt"') do (
findstr /v "22 66 99" "%%i" >"%%~dpni.new"
del /q "%%i"
ren "%%~dpni.new" "%%~ni.txt"
)

这样就可以了

这样的话对你的原文件很不好啊
万一要是不行的话
不是对原文件也损坏了么

DOS的批处理没有这个功能的。

还原啊