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
当然可以,把你具体要做些什么列出来看看