Board logo

标题: 如何用批处理按标记提取文件的内容 [打印本页]

作者: mggdx     时间: 2008-1-26 04:32    标题: 如何用批处理按标记提取文件的内容
如何用批处理按标记提取文件的内容
如下列文本内容
[set]
asdf
asdf
asdf

[windows]
fdsa
fdsa
fdsa

[cut]
ggggg
ggggg
ggggg

怎么才能提取出
asdf
asdf
asdf
这一段字符呢?
我找了N久没找到方法
哪位仁兄帮助一下
小弟感谢
!

作者: qianmo717     时间: 2008-1-26 10:15
@echo off
set /p ke=请输入要查找的字符:
for /f "delims=" %%i in (1.txt) do (if "%%i"=="%ke%" echo %%i)
pause>nul

保存的文档名是1.txt

作者: mggdx     时间: 2008-1-28 04:09
楼上的会错意了
我的意思是
事先如果不知道内容
我让以[windows]为标签
提取出[cut] 与[windows]之间的字符这要怎么实现?

作者: junchen2     时间: 2008-1-28 12:11
echo off
setlocal enabledelayedexpansion
for /f "delims=" %%a in (1.txt) do (
if "%%a" equ "[cut]" set tag=0
if "!tag!"=="1" echo %%a
if "%%a" equ "[windows]" set tag=1
)
pause

作者: suntb     时间: 2008-1-28 13:36
学习了

echo off 最好前面加上@

作者: mggdx     时间: 2008-1-30 00:22
4楼的可以实现
能解释一下具体代码的含义吗?
小弟水平不高~
请详细一些
3K

作者: slore     时间: 2008-1-30 00:47
。。。。如果是windows,设置的开关tag为1
是1了就输出,如果是cut设置开关为0,就是关闭了。。。

就是这个意思,,,,你要效果你的思路应该就是这样啊。。。
他只是代码实现给你。。

作者: mggdx     时间: 2008-1-31 02:35
谢谢解释`~