|
|
楼主 |
发表于 2022-11-10 16:37:31
|
显示全部楼层
本帖最后由 smatenchen 于 2022-11-13 10:10 编辑
回复 8# hfxiang qixiaobin0715 Batcher idwma BAT221110
1,
非常感谢!
2,
要求,
删除 1.txt 里[222]所在行之下,[333]所在行之上的各行,其余要保留。
要删除[222]之下,[333]之上的中间各行。
即,只删除[222]与[333]之间的各行,其余要保留。
再说白一点,我是想删除 1.txt 里的某一段,但文件结构不能改变,
而[222],[333]是文件结构的一部分,故不能删除。
3,
- if "%%~a"=="[222]" set /a b=0
- if "%%~a"=="[333]" set /a b=1
- if !b! EQU 1 echo;%%a
复制代码
这个解法挺巧妙,没想到可以如此轻巧。
比较头疼,批处理命令似乎并不能删除文件里的内容,看似最后也只能用>,
>>去生成所要的新文件,而后再去替换。
4,
你的代码不错,给了我很大的提示。感谢!
我之前想了好久,感觉其解法代码会很复杂,且最后,也就只能用>,
>>去生成所要的新文件,而不能直接删除原文件 1.txt 里的内容。
现在看来,我把问题想得过于复杂了,没找到巧妙的解法。
5,
感谢大神们的帮忙,似乎问题差不多有解法了。
非常感谢! |
|