d盘有个文件,1.txt 2.txt
需要做的是,把1.txt 文件内容中的 “空格空格空格9415” 全部替换为“@9415”。这是一段代码。
第二个代码:把1.txt文件2.txt文件 内容合并在一起!
请高手帮忙!
批处理,txt文件 内容批量替换
答案:2 悬赏:70
解决时间 2021-03-12 15:03
- 提问者网友:绿海猖狂
- 2021-03-12 07:00
最佳答案
- 二级知识专家网友:一场云烟
- 2021-03-12 07:24
你说的“空格空格空格9415”应该是“ 9415”(9415前有三个空格)吧。
@echo off
setlocal enabledelayedexpansion
set a=" 9415"
call :sub %a%
copy tmp.txt+2.txt 合并.txt /y>nul
start 合并.txt
del tmp.txt /f
exit
:sub
for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" 1.txt') do (
if "%%j"=="" (echo.>>tmp.txt) else (
set str=%%j
>>tmp.txt echo !str:%~1=@9415!
))
goto :eof
说明:
复制到记事本中,保存为.bat文件,把这个bat文件放到1.txt文件所在目录,运行。自动打开的就是合并后的文件。
@echo off
setlocal enabledelayedexpansion
set a=" 9415"
call :sub %a%
copy tmp.txt+2.txt 合并.txt /y>nul
start 合并.txt
del tmp.txt /f
exit
:sub
for /f "tokens=1* delims=:" %%i in ('findstr /n ".*" 1.txt') do (
if "%%j"=="" (echo.>>tmp.txt) else (
set str=%%j
>>tmp.txt echo !str:%~1=@9415!
))
goto :eof
说明:
复制到记事本中,保存为.bat文件,把这个bat文件放到1.txt文件所在目录,运行。自动打开的就是合并后的文件。
全部回答
- 1楼网友:万千宠爱
- 2021-03-12 08:46
@echo off & setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (1.txt) do (
if "%%i"=="" (echo.) else (set "line=%%i" & call :chg)
)>>new_1.txt
pause
exit
:chg
rem 这个是保留空行
set "line=!line:1=a!"
rem 第一个替换。。。1变成a
set "line=!line:2=b!"
rem 第二个替换。。。2换成b.....
set "line=!line:3=c!"
rem 第三个。
set "line=!line:4=d!"
rem 第四个。。。
echo !line!
goto :eof
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯