Board logo

标题: [文本处理] [已解决]批处理怎样修改文本的某段内容? [打印本页]

作者: Hello123World    时间: 2011-1-10 19:39     标题: [已解决]批处理怎样修改文本的某段内容?

1111111 2222222 3333333 假设以上是文本内容,我要将2222222修改成hello,但是不变第一行和第三行的文本内容。
是为了解决这个问题而想到的。
  1. 在c:\下有123.xls这个文件,要把c:\123.xls复制到d:\abc文件夹中,且c:\123.xls复制到d:\bac文件夹中后重命名为001.xls,然后第二次复制的时候重命名为002.xls,以此类推,递增的复制,而不是覆盖的复制。然后我会把这个递增复制的bat命令添加到系统任务计划中,让他每天每小时自动运行一次,这样就能实现每天每小时把c:\123.xls这个文件做个备份。知道的朋友帮帮忙,我刚注册的号,真的没分。不好意思。在此先谢谢了。
复制代码

[ 本帖最后由 Hello123World 于 2011-1-11 11:24 编辑 ]
作者: hanyeguxing    时间: 2011-1-10 19:56

不需要这样的文本,直接计划运行这样的批处理:
  1. @echo off
  2. set "r=d:\abc"
  3. for %%a in ("%r%\*.xls") do set a=1%%~na
  4. set/a a=(a-1000)*!!a+1
  5. set a=00%a%
  6. copy "c:\123.xls" "%r%\%a:~-3%.xls"
复制代码
当然也可以在任务计划里直接运行:
  1. cmd /c copy "c:\123.xls" "d:\abc\%date:~0,10%-%time::=%.xls"
复制代码
这样备份的文件是以日期+时间命名的,也不会覆盖(要求%date%形如2010-01-10,%time%为20:27:34.50)

[ 本帖最后由 hanyeguxing 于 2011-1-10 20:27 编辑 ]




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