Board logo

标题: 批处理修改文本文件 [打印本页]

作者: huangxiongzhe     时间: 2008-9-11 09:40    标题: 批处理修改文本文件

各位大虾:(HAT,moniuming等) 前面问了两个问题,两位各给出了答案,以为可以完成我的设想,谁知道批处理还真搞,现在把问题完整的提出来,请大虾们给搞搞!!!这里先谢谢了!!! 输入文件: aaa_bbb 0.02 !P_a !P_b 0.03 !P_c % m/s !---------------------------- 0.04 !P_d !m/s^2 ,s 0.05 !P_e =!:/1.7 s设想:只修改每行前面的数字,其余各行完全不便,包括空行及行内的特殊符号,一次可能修改一行或几行的数字!!!

作者: HAT     时间: 2008-9-11 10:02
只修改这些? 0.02 0.03 0.04 0.05 修改成什么样子?

作者: huangxiongzhe     时间: 2008-9-11 10:22
aaa_bbb 0.021 !P_a !P_b 0.031 !P_c % m/s !---------------------------- 0.044 !P_d !m/s^2 ,s 0.052 !P_e =!:/1.7

作者: huahua0919     时间: 2008-9-11 11:14
你这说的太笼统了, 如果就按照你这样,硬套也能套成功,而且前面变化的数字又没规律,下面是vbs脚本,你试试看
dim n,m
n=0:m=0
set Fso=createobject("scripting.filesystemobject")
set f=Fso.openTextFile("a.txt",1)
set fs=Fso.createtextfile("b.txt",true)

while f.atendofstream <> true
 n=n+1
 if n=1 then
   fs.writeline f.readline
 end if

 m=m+1 
 if m=1 then
 fs.writeline replace(f.readline,"0.02","0.021")
 elseif m=2 then
 fs.writeline replace(f.readline,"0.03","0.031")
 elseif m=3 then
 fs.writeline replace(f.readline,"0.04","0.044")
 else
 fs.writeline replace(f.readline,"0.05","0.052")
 end if

wend

作者: huangxiongzhe     时间: 2008-9-11 11:26    标题: re huahua0919

太感谢了!!! 只是能否用批处理做出来!vbs不懂诶!!! 的确是的,数字的变化是没有规律的,我的想法就是改动某行的数字,其它行不变!!!还是这个论坛牛人多呀!!!

作者: huangxiongzhe     时间: 2008-9-11 11:45    标题: re huahua0919

vbs脚本的程序的确好,但是我需要这个程序与dos批处理程序一起使用可以么?

作者: huahua0919     时间: 2008-9-11 12:00
当然可以,把你具体要做些什么列出来看看