如何用批处理实现替换指定文件里面的某行某列内容 20
例如,文件夹里有11.txt,22.txt,33.txt三个记事本文件,先判断是否存在文件22.txt,如果存在的话,则将11.txt文件中第5行44至64列的内容改为0...
例如,文件夹里有11.txt,22.txt,33.txt三个记事本文件,先判断是否存在文件22.txt,如果存在的话,则将11.txt文件中第5行44至64列的内容改为0。(其中11.txt文件中第5行44至64列的内容为一个负数)因为这个负数是变化的,所以不能指定这个数到底是多少,只能指定这个数所在位置,然后将其替换。
展开
3个回答
展开全部
不用批处理,给你写个程序行么
string path = Directory.GetCurrentDirectory().ToString();
if (File.Exists(@path + "\\22.txt"))
{
string[] line = File.ReadAllLines(@path + "\\11.txt");
string s = line[4];
s = s.Substring(43, 63);
string ss = String.Empty;
for (int i = 0; i <= 20; i++)
{
ss += "0";
}
line[4] = line[4].Replace(s, ss);
File.WriteAllLines(@path + "\\11.txt", line);
}
else
{
MessageBox.Show(@path + "\\22.txt 不存在!", "", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
程序编译好了,用C#写的,跟批处理一样用!
更多追问追答
追问
不行啊,要用批处理实现才可以的,您看,能帮我实现吗?谢谢了
不行啊,要用批处理实现才可以的,您看,能帮我实现吗?谢谢了
展开全部
用Vbs行不行?虽然不是批处理,但好歹是脚本,不用另外装软件…
追问
谢谢你,你帮我写一个,我试试看看行不行吧,好吗?我要实现的就是判断要是不存在22.txt就将11.txt中的 beng_out 后面的数字改为0(如上图的-5.8291197,但是这个数字不是固定的)
追答
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
If fso.FileExists("22.txt") Then
tempfilename="tfn11.txt"'临时文件名
Set ftemp=fso.CreateTextFile(tempfilename,True)
Set fa=fso.OpenTextFile("11.txt",1)
For i=1 To 4
ftemp.WriteLine(fa.ReadLine)
Next
str=fa.Read(43)'从第1列读到43列
ftemp.Write(str)'写到临时文件里
For i=44 To 64 '改写44到64列
fa.Skip(1)
ftemp.Write("0")
Next
do until fa.AtEndOfStream
ftemp.Write(fa.Read(1))
Loop
fa.Close
ftemp.Close
fso.CopyFile tempfilename,"11.txt",True
fso.DeleteFile tempfilename
Else
MsgBox "不存在22.txt"
End If
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
@echo off&setlocal enabledelayedexpansion
if exist 22.txt (
cd . >#
for /f "tokens=1* delims=:" %%a in ('findstr /n .* 11.txt') do (
if %%a EQU 5 (
set "line=%%b"
echo !line:~0,42! 0 !line:~64! >#
) else echo %%b >#
)
move # 11.txt
)
追问
追答
@echo off&setlocal enabledelayedexpansion
if exist 22.txt (
cd . >#
for /f "tokens=1* delims=:" %%a in ('findstr /n .* 11.txt') do (
if %%a EQU 5 (
set "line=%%b"
echo !line:~0,42! 0 !line:~64! >>#
) else echo.%%b >>#
)
move # 11.txt
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询