中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何修改文本中指定位置内容
作者:
标题: 如何修改文本中指定位置内容 上一主题 | 下一主题
zxlxsqzy
初级用户





积分 126
发帖 47
注册 2007-7-2
状态 离线
『楼 主』:  如何修改文本中指定位置内容

我想修改一个文本文件中特定位置的内容,我应该怎么办

比如我有一个文件,里面大多数内容是固定的,但是我每天需要把其中第50行的第六、七个字符修改成当天的日期,比如今天是2008年08月18日,我想把指定文件的第50行第六七个字符修改成08,把52行第六七个字符个性成18,我应该怎么办?

2008-8-18 12:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  


@echo off
set row=0
set month=%date:~5,2%
set day=%date:~8,2%
type nul>"C:\test\b.txt"
setlocal enabledelayedexpansion
for /f "usebackq tokens=1,2* delims=:" %%a in ("C:\test\a.txt") do (
  set str=%%a
  set /a row+=1
  if !row! == 50 (
    set str=!str:~0,5!%month%!str:~7!
  ) else if !row! == 52 (
    set str=!str:~0,5!%day%!str:~7!
  )
  >>"C:\test\b.txt" echo !str!
)
move /y "C:\test\b.txt" "C:\test\a.txt"


   此帖被 +1 点积分    点击查看详情   
评分人:【 judas 分数: +1  时间:2009-4-2 02:18




2008-8-18 14:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: