Board logo

标题: [文件操作] [已解决]批处理怎样写入与读取指定段落? [打印本页]

作者: wolfan    时间: 2011-7-25 17:28     标题: [已解决]批处理怎样写入与读取指定段落?

本帖最后由 wolfan 于 2011-7-28 22:11 编辑

另外问下BAT 读取与写入文本指定段的方法。
例:
font.txt
:atitle
welcome

:btitle
abcd=12345

1、加入内容至 atitle  welcome下面一行。
2、读取btitle中 abcd= 后面的值~

不知BAT是否可以做到~
希望有示例~

作者: ArdentMan    时间: 2011-7-25 20:28

  1. @Echo Off
  2. (For /F "delims=" %%a In (font.txt) Do (
  3.   Set "%%a"&Echo,%%a
  4.   If "%%a" EQU ":atitle" Set "Flag=a"
  5.   If "%%a" EQU "welcome" If Defined Flag Echo 要加入的内容&Set "Flag="
  6. ))>tem
  7. Move tem font.txt
  8. Echo %abcd%
  9. Pause>nul
复制代码

作者: tmplinshi    时间: 2011-7-26 13:59

本帖最后由 tmplinshi 于 2011-7-28 19:02 编辑
  1. sed -i "/^:atitle$/,/^welcome$/ s/^welcome$/&\n新增行1\n新增行2/" a.txt
复制代码
  1. sed -n "/^:btitle$/,/^abcd=.*$/ s/^abcd=\(.*\)$/\1/p" a.txt
复制代码
sed 下载地址:
http://www.pement.org/sed/gsed407x.zip
作者: Hello123World    时间: 2011-7-26 16:11

本帖最后由 Hello123World 于 2011-7-26 16:14 编辑

1.
  1. @echo off
  2. (For /f "tokens=1* delims=:" %%i in ('findstr /n ".*" a.txt') do if "%%i"=="3" (echo welcome & echo\ &echo "加入内容") Else (echo %%j))>1.txt
  3. pause
复制代码
2.
  1. @echo off
  2. For /f %%i in (a.txt) do Set "%%i" 2>nul
  3. echo %abcd%
  4. pause
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2