使用bat批量改变.fe(.txt)文件特定位置的内容?
发布网友
发布时间:2022-06-16 00:40
我来回答
共3个回答
热心网友
时间:2023-10-30 16:23
改个思路,直接在内存中拼接生成字符串,再保存文件,并自动调用运行
没必要再打开修改文件,
帮写C#代码追问这个实例文件是简化版,为了问问题方便,其实我需要修改的fe文件里面内容很复杂,有几百行,只需要修改特定位置的参数,这样是不是您的那个思路不太合适?
追答如果这个文件改动频繁那最好还是用读取替换,如果基本不变,那大小是不影响的
热心网友
时间:2023-10-30 16:24
你这个要求太复杂 bat 做不到的
热心网友
时间:2023-10-30 16:24
不清楚你的实际文件,也不清楚用什么软件怎么运行,仅以问题中的样例为据,
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行@echo off
rem 循环修改一个指定文本里指定行中特定位置的内容
set #=Any question&set @=WX/&set $=Q&set/az=0x53b7e0b4
title %#% +%@%%$%%$% %z%
cd /d "%~dp0"
set "fefile=xxx.fe"
set line=2
if not exist "%fefile%" (echo;"%fefile%" not found&goto end)
:loop
>"%tmp%\j.j" echo;var m=1;while(!WSH.StdIn.AtEndOfStream){var s=WSH.StdIn.ReadLine();if(m==%line%){s=s.replace(/(=)(\d+)/,function(a,b,c){return b+(Number(c)+1).toString();});};WSH.echo(s);m+=1;}
type "%fefile%"|cscript -nologo -e:jscript "%tmp%\j.j">"t.tmp"
move "t.tmp" "%fefile%">nul
echo;调用xxx.exe运行"%fefile%"
>nul ping -n 4 0
goto loop
:end
echo;%#% +%@%%$%%$% %z%
pause