Board logo

标题: [求助]批处理-文本文档中的数据覆盖 [打印本页]

作者: condor     时间: 2009-1-6 11:07    标题: [求助]批处理-文本文档中的数据覆盖

文本文档A.txt和B.txt中存有很多数据,现在只是将B.txt中的前9个字符读出覆盖掉

A.txt文件头部的前9个字符(注:两个文件中的数据都不止一行,每行都不止9个字符 ),请问如何用批处理实现?


问题的详细描述:

B.txt和A.txt中的每行前九个字符都是数字,只覆盖第一行的,其它行不处理。
如B.txt 中为

17.735816,21.335872,21.335872
22.761335,22.761339,22.761343
23.452122,23.452132,23.452143


A.txt 中为

21.335872,21.335872,21.335872
22.761335,22.761335,22.761335
23.452122,23.452122,23.452122  

只是读取计算后得到的B.txt中第一行前九个字符(17.735816 每次计算的结果不同,但是都保存在B.txt中第一行前九个字符)替换掉A.txt中第一行前九个字符(21.335872 为初始数据,随初始条件改变而改变,但是要替换的数据位置在A.txt中第一行的前九个字符)

[ Last edited by condor on 2009-1-6 at 20:19 ]
作者: BaseCoder     时间: 2009-1-6 11:28
问题不详细哦

1、是不是B.txt中的每行前九个字符都要覆盖掉A.txt中的对应行的前就各字符
2、字符是否也算空格呢?(空格要不要也覆盖)
3、如果没有空格那是不是所有的前九个字符都连在一起呢
作者: condor     时间: 2009-1-6 12:39


  Quote:
Originally posted by BaseCoder at 2009-1-6 11:28:
问题不详细哦

1、是不是B.txt中的每行前九个字符都要覆盖掉A.txt中的对应行的前就各字符
2、字符是否也算空格呢?(空格要不要也覆盖)
3、如果没有空格那是不是所有的前九个字符都连在一起呢

B.txt和A.txt中的每行前九个字符都是数字,只覆盖第一行的,其它行不处理。
如B.txt 中为

17.735816,21.335872,21.335872
22.761335,22.761339,22.761343
23.452122,23.452132,23.452143


A.txt 中为

21.335872,21.335872,21.335872
22.761335,22.761335,22.761335
23.452122,23.452122,23.452122  

只是读取计算后得到的B.txt中第一行前九个字符(17.735816 每次计算的结果不同,但是都保存在B.txt中第一行前九个字符)替换掉A.txt中第一行前九个字符(21.335872 为初始数据,随初始条件改变而改变,但是要替换的数据位置在A.txt中第一行的前九个字符)
作者: HAT     时间: 2009-1-6 19:45    标题: Re 3楼

建议把详细的问题描述更新到顶楼,以便更多人查看。
作者: netbenton     时间: 2009-1-26 01:16
@echo off& setlocal enabledelayedexpansion
set /p var=<b.txt >nul
set var=%var:~0,9%
set _n=0
for /f "delims=" %%a in ('findstr /o .* a.txt') do (
set str=%%a
set str=!str:*:=!
if "!_n!"=="0" (set _n=1&echo.!var!!str:~9!>a.txt) else (echo.!str!>>a.txt)
)
set /p str=<a.txt>nul
if "%str:~0,9%"=="%var%" echo 替换成功
pause

[ Last edited by netbenton on 2009-1-26 at 01:18 ]
作者: condor     时间: 2009-2-25 23:14
非常感谢!
作者: condor     时间: 2009-2-26 00:17
谢谢netbenton,实现方法好巧哦!