111111
222222
333333
用批处理删除带22的整行,删除后的结果是这样:
111111
333333
这个批处理要删除"文本.txt"中的22所在的整行,必须直接在原文本中执行,不输出另一个新文件。
zhidao.baidu.com/question/73870756.html中有一个答案,我修改了一下:- set var=22
- for /f "delims=" %%i in ('dir /b/s/a-d "文本.txt"') do (
- findstr /v "%var%" "%%i" >"%%~dpni.new"
- del /q "%%i"
- ren "%%~dpni.new" "%%~ni.txt"
- )
复制代码 我试了一下,好像不能用变量,如果把"22"换成如"%var%"却把%var%本身作为查找内容,
请高手帮忙改进一下,谢谢! |