批处理如何实现文本文件中指定行内容的替换?
发布网友
发布时间:2022-04-24 05:02
我来回答
共5个回答
热心网友
时间:2023-10-30 13:06
1、首先,准备一个conf.ini,内容如下图所示。现在要将title的值修改“我是新标题”。
2、如果ini内的文件比较简单,其次可以直接新生成一个。
3、运行一下代码,效果如下,可以看到ini内容已经修改。
4、假设不知道ini的具体内容,只是知道其中有“我是新标题”,现在要将“我是新标题”替换成"newtitle"。
5、如果ini文件原内容如下图所示。
6、运行脚本后,得到的新ini文本就变成如下图所示了。因为我们生成了中间文件,所以在脚本最后,一定要记得删除该文件 del tmp.txt。
注意事项:
批处理应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。
热心网友
时间:2023-10-30 13:07
指定行也可以:本批指定了第5行不等于“DEFA=TEST”则替换为“DEFA=TEST”,等于退出。
@echo off&setlocal Enabledelayedexpansion
if exist "templog.txt" del /q /f /a "templog.txt"
set /p file=请把你要处理的文本文件拖到本窗口:&set "file=!file:"=!"
FOR %%i IN ("%file%") DO set G=%%~dpi&set T=%%~ni&set K=%%~xi&set P=%%~nxi
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "%file%"') do (
if %%a==5 (if "%%b" NEQ "DEFA=TEST" (goto P) else Del /f /q /a "templog.txt"&exit)
echo %%b>>"templog.txt"
)
:P
echo DEFA=TEST>>"templog.txt"
more +5 "%file%">>"templog.txt"
ren "%file%" "%T%【%random%】%K%"
copy "templog.txt" "%G%%P%"
del /q /f /a "templog.txt"
start "" "%file%"&exit
测试文本内容:
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TEST
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
热心网友
时间:2023-10-30 13:07
比如有个a.ime文件,要把他里面的123456改成654321方法如下
@echo off
ren a.ime a.txt
setlocal Enabledelayedexpansion
for /f "tokens=*" %%a in (a.txt) do (
set var=%%a
set var=!var:123456=654321!
echo !var!>>b.txt
)
endlocal
ren b.txt a.ime
del a.txt
把上面的内容保存为批处理文件,并让他和ime文件放同一文件夹下(桌面也可以)
热心网友
时间:2023-10-30 13:08
打开文本文档,右上角有查找替换,操作下就行了。
热心网友
时间:2023-10-30 13:08
@echo off
set/p .=请输入指定字符串:
for /f "tokens=1,2 delims==" %%a in ("%.%")do (
set "a=%%a"
set "b=%%b"
)
for /f "tokens=1,2 delims==" %%b in (config.ini)do (
if %%b==%a% (echo/%a%=%b%>>config_.ini
) else echo %%b=%%c>>config_.ini
)
move config_.ini config.ini
start config.ini
这里假定是config.ini文件!
热心网友
时间:2023-10-30 13:06
1、首先,准备一个conf.ini,内容如下图所示。现在要将title的值修改“我是新标题”。
2、如果ini内的文件比较简单,其次可以直接新生成一个。
3、运行一下代码,效果如下,可以看到ini内容已经修改。
4、假设不知道ini的具体内容,只是知道其中有“我是新标题”,现在要将“我是新标题”替换成"newtitle"。
5、如果ini文件原内容如下图所示。
6、运行脚本后,得到的新ini文本就变成如下图所示了。因为我们生成了中间文件,所以在脚本最后,一定要记得删除该文件 del tmp.txt。
注意事项:
批处理应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。
热心网友
时间:2023-10-30 13:07
指定行也可以:本批指定了第5行不等于“DEFA=TEST”则替换为“DEFA=TEST”,等于退出。
@echo off&setlocal Enabledelayedexpansion
if exist "templog.txt" del /q /f /a "templog.txt"
set /p file=请把你要处理的文本文件拖到本窗口:&set "file=!file:"=!"
FOR %%i IN ("%file%") DO set G=%%~dpi&set T=%%~ni&set K=%%~xi&set P=%%~nxi
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "%file%"') do (
if %%a==5 (if "%%b" NEQ "DEFA=TEST" (goto P) else Del /f /q /a "templog.txt"&exit)
echo %%b>>"templog.txt"
)
:P
echo DEFA=TEST>>"templog.txt"
more +5 "%file%">>"templog.txt"
ren "%file%" "%T%【%random%】%K%"
copy "templog.txt" "%G%%P%"
del /q /f /a "templog.txt"
start "" "%file%"&exit
测试文本内容:
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TEST
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
热心网友
时间:2023-10-30 13:07
比如有个a.ime文件,要把他里面的123456改成654321方法如下
@echo off
ren a.ime a.txt
setlocal Enabledelayedexpansion
for /f "tokens=*" %%a in (a.txt) do (
set var=%%a
set var=!var:123456=654321!
echo !var!>>b.txt
)
endlocal
ren b.txt a.ime
del a.txt
把上面的内容保存为批处理文件,并让他和ime文件放同一文件夹下(桌面也可以)
热心网友
时间:2023-10-30 13:08
打开文本文档,右上角有查找替换,操作下就行了。
热心网友
时间:2023-10-30 13:08
@echo off
set/p .=请输入指定字符串:
for /f "tokens=1,2 delims==" %%a in ("%.%")do (
set "a=%%a"
set "b=%%b"
)
for /f "tokens=1,2 delims==" %%b in (config.ini)do (
if %%b==%a% (echo/%a%=%b%>>config_.ini
) else echo %%b=%%c>>config_.ini
)
move config_.ini config.ini
start config.ini
这里假定是config.ini文件!
热心网友
时间:2023-10-30 13:06
1、首先,准备一个conf.ini,内容如下图所示。现在要将title的值修改“我是新标题”。
2、如果ini内的文件比较简单,其次可以直接新生成一个。
3、运行一下代码,效果如下,可以看到ini内容已经修改。
4、假设不知道ini的具体内容,只是知道其中有“我是新标题”,现在要将“我是新标题”替换成"newtitle"。
5、如果ini文件原内容如下图所示。
6、运行脚本后,得到的新ini文本就变成如下图所示了。因为我们生成了中间文件,所以在脚本最后,一定要记得删除该文件 del tmp.txt。
注意事项:
批处理应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。
热心网友
时间:2023-10-30 13:07
指定行也可以:本批指定了第5行不等于“DEFA=TEST”则替换为“DEFA=TEST”,等于退出。
@echo off&setlocal Enabledelayedexpansion
if exist "templog.txt" del /q /f /a "templog.txt"
set /p file=请把你要处理的文本文件拖到本窗口:&set "file=!file:"=!"
FOR %%i IN ("%file%") DO set G=%%~dpi&set T=%%~ni&set K=%%~xi&set P=%%~nxi
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "%file%"') do (
if %%a==5 (if "%%b" NEQ "DEFA=TEST" (goto P) else Del /f /q /a "templog.txt"&exit)
echo %%b>>"templog.txt"
)
:P
echo DEFA=TEST>>"templog.txt"
more +5 "%file%">>"templog.txt"
ren "%file%" "%T%【%random%】%K%"
copy "templog.txt" "%G%%P%"
del /q /f /a "templog.txt"
start "" "%file%"&exit
测试文本内容:
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TEST
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
热心网友
时间:2023-10-30 13:07
比如有个a.ime文件,要把他里面的123456改成654321方法如下
@echo off
ren a.ime a.txt
setlocal Enabledelayedexpansion
for /f "tokens=*" %%a in (a.txt) do (
set var=%%a
set var=!var:123456=654321!
echo !var!>>b.txt
)
endlocal
ren b.txt a.ime
del a.txt
把上面的内容保存为批处理文件,并让他和ime文件放同一文件夹下(桌面也可以)
热心网友
时间:2023-10-30 13:08
打开文本文档,右上角有查找替换,操作下就行了。
热心网友
时间:2023-10-30 13:06
1、首先,准备一个conf.ini,内容如下图所示。现在要将title的值修改“我是新标题”。
2、如果ini内的文件比较简单,其次可以直接新生成一个。
3、运行一下代码,效果如下,可以看到ini内容已经修改。
4、假设不知道ini的具体内容,只是知道其中有“我是新标题”,现在要将“我是新标题”替换成"newtitle"。
5、如果ini文件原内容如下图所示。
6、运行脚本后,得到的新ini文本就变成如下图所示了。因为我们生成了中间文件,所以在脚本最后,一定要记得删除该文件 del tmp.txt。
注意事项:
批处理应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND. COM或者CMD.EXE)解释运行。
热心网友
时间:2023-10-30 13:08
@echo off
set/p .=请输入指定字符串:
for /f "tokens=1,2 delims==" %%a in ("%.%")do (
set "a=%%a"
set "b=%%b"
)
for /f "tokens=1,2 delims==" %%b in (config.ini)do (
if %%b==%a% (echo/%a%=%b%>>config_.ini
) else echo %%b=%%c>>config_.ini
)
move config_.ini config.ini
start config.ini
这里假定是config.ini文件!
热心网友
时间:2023-10-30 13:07
指定行也可以:本批指定了第5行不等于“DEFA=TEST”则替换为“DEFA=TEST”,等于退出。
@echo off&setlocal Enabledelayedexpansion
if exist "templog.txt" del /q /f /a "templog.txt"
set /p file=请把你要处理的文本文件拖到本窗口:&set "file=!file:"=!"
FOR %%i IN ("%file%") DO set G=%%~dpi&set T=%%~ni&set K=%%~xi&set P=%%~nxi
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "%file%"') do (
if %%a==5 (if "%%b" NEQ "DEFA=TEST" (goto P) else Del /f /q /a "templog.txt"&exit)
echo %%b>>"templog.txt"
)
:P
echo DEFA=TEST>>"templog.txt"
more +5 "%file%">>"templog.txt"
ren "%file%" "%T%【%random%】%K%"
copy "templog.txt" "%G%%P%"
del /q /f /a "templog.txt"
start "" "%file%"&exit
测试文本内容:
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
有一个配置文本文件,首先要
查找其中的某行(假定为第5行)的内容
是否与指定字符串(假定指
定字符串为“
DEFA=TEST
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
定字符串为“
DEFA=TESTa
”)完全相同,如不是,则
用指定的字符串将该行的内容替换掉,请问
用批处理文件如何实现?
热心网友
时间:2023-10-30 13:07
比如有个a.ime文件,要把他里面的123456改成654321方法如下
@echo off
ren a.ime a.txt
setlocal Enabledelayedexpansion
for /f "tokens=*" %%a in (a.txt) do (
set var=%%a
set var=!var:123456=654321!
echo !var!>>b.txt
)
endlocal
ren b.txt a.ime
del a.txt
把上面的内容保存为批处理文件,并让他和ime文件放同一文件夹下(桌面也可以)
热心网友
时间:2023-10-30 13:08
打开文本文档,右上角有查找替换,操作下就行了。
热心网友
时间:2023-10-30 13:08
@echo off
set/p .=请输入指定字符串:
for /f "tokens=1,2 delims==" %%a in ("%.%")do (
set "a=%%a"
set "b=%%b"
)
for /f "tokens=1,2 delims==" %%b in (config.ini)do (
if %%b==%a% (echo/%a%=%b%>>config_.ini
) else echo %%b=%%c>>config_.ini
)
move config_.ini config.ini
start config.ini
这里假定是config.ini文件!