比如我有一个文本
1111111111111
2222222222222
3333333333333
我的目标写一个批处理
运行他则实现
把第2行的2222222222222改成hello
也就是变成
1111111111111
hello
3333333333333
不要提示用户输入内容,而是批处理直接运行就直接改成hello
不要用find命令,因为的第二行的内容会不同,我要不管第二行什么内容,都能彻底改掉第二行为我脚本里面写入的内容
感谢朋友的回答,我自己也折腾了一个方法,复杂了点,但可以具体到第几行从第几个字符开始写入,和大家分享一下
@echo off&echo/
set ff=1.txt
set ln=40
set cl=1
set s=new
setlocal enabledelayedexpansion
(for /f "tokens=1* delims=:" %%i in ('type "%ff%"^|findstr/n ".*"'
)do if %%i neq %ln% (echo.%%j)else (set mh="%%j"
set mh=!mh: =" "!
for %%k in (!mh!)do (set/a n+=1
if !n! equ %cl% (set h=!h! %s%)else set "h=!h! %%~k")
echo.!h:~1!))>temp.yky
move temp.yky "%ff%"&echo 处理完成&ping -n 2 127.1>nul
==============
set ln=40 意思是第40行
set cl=1 意思是第一个字符开始
set s=hello 此处为要写入的hello
将test.txt第二行改为hello
// 尽量不要用外部文件,大文件读取会比较慢
bat批处理修改文本文档指定行的内容?
首先鼠标右键单击电脑桌面,选择新建一个文本文档。进入win10桌面以后,右击桌面空白处,然后选择【新建】,然后找到并且点击【文本文档】。双击文本文档,进入文本文档界面输入hostname。还需要输入一个命令暂停【pause】-暂停。用inifile.exe,专门读取修改ini文件的工具。但是你要提供更多ini文件的信息。批处...
bat批处理修改文本文档指定行的内容?
代码使用了两个循环:第一个for循环用于遍历目标目录下所有的.tog文件;第二个for循环用于遍历每个文件的所有行,并在需要修改的行进行相应的操作。通过变量count计数,如果当前行是需要修改的行,则输出新的内容到一个临时文件temp.txt中;否则直接将当前行原样输出。最后将临时文件重命名为原文件名,完成...
批处理如何实现文本文件中指定行内容的替换?
1、首先,准备一个conf.ini,内容如下图所示。现在要将title的值修改“我是新标题”。2、如果ini内的文件比较简单,其次可以直接新生成一个。3、运行一下代码,效果如下,可以看到ini内容已经修改。4、假设不知道ini的具体内容,只是知道其中有“我是新标题”,现在要将“我是新标题”替换成"newtitle"...
如何用批处理为一个文本填加删除修改指定内容?
echo 1在文本A.TXT中添加一行指定内容如:pc000 并且如果文本某行中有PC000就不在重复添加.set text=PC000 set file=a.txt rem 判断文本里是否有指定内容 弱没有则追加 find "%text%" %file%>nul||echo %text%>>%file pause echo 2第二个批处理.在文本A.TXT中查找并删除指定内容PC001.SET...
批处理将指定行的内容写入另一文件
tokens=*" %%i in (%~nx1) do (set \/a n+=1 if "%%a"=="!n!" echo %%i>>修改.txt ))改了下,这个批处理:你直接把 要处理的 txt文件的图标拖到 改批处理文件的图标上,然后再输入你请输入要读取的行,最后会在那个 处理txt文件的同一目录下生成 修改.txt 这个处理后的文件 ...
批处理修改文本文档指定行的内容,在指定行后面添加一行?
rem 在一个指定目录里的多个指定扩展名\/后缀名文本文件内的多个指定行下面添加\/插入不同内容 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0b4 title %#% +%$%%$%\/%@% %z cd \/d "%~dp0"powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([Script...
请问如何用批处理命令来修改某文件的某行数据并保存呢?
echo off SETLOCAL ENABLEDELAYEDEXPANSION (for \/f "tokens=1,2 delims==" %%i in (1.ini) do (if "%%i"=="PASVPortStart" (ECHO %%i=4400 ) else (ECHO %%i=%%j )))>#1.INI DEL 1.INI REN #1.INI 1.INI start 1.ini
批处理 实现批量替换多个文本文档中指定行中的字符或修改行中内容_百度...
有一个config.txt文本文件,首先要查找其中的第5行的内容是否与指定符串 DEFA=TEST 完全相同,如不是,则用指定的 DEFA=TEST 将该行的内容替换掉,该问题已得到 睿之锐 朋友的完美解答如下:echo off&setlocal Enabledelayedexpansion if exist "templog.txt" del \/q \/f \/a "templog.txt"set "...
批处理如何实现文本文件中指定行内容替换?(求补充优化)
for \/f "tokens=1* delims=:" %%a in ('findstr \/n ".*" "%file%"') do (if %%a==5 (set var_x=DEFA=%G if "%%b" NEQ "!var_x!" (goto P) else Del \/f \/q \/a "templog.txt"&exit)echo %%b>>"templog.txt"):P echo !var_x!>>"templog.txt"more +5 "%file%"...
批处理如何替换制定行与列的字符?
echo !str!>>temp.txt ) else (echo %%i>>temp.txt ))copy temp.txt a.txt \/y del temp.txt \/f start a.txt 直接更改做不到了。可以提取文本的每一行,把要修改的行,修改好后,和不用修改的行重新输入到另一个文件(也可以用变量代替)。再把这个修改好的文件,覆盖掉原来的文本文件。