- 帖子
- 754
- 积分
- 973
- 技术
- 4
- 捐助
- 0
- 注册时间
- 2021-8-30
|
[文本处理] 【已解决】求bat:替换含 wall 行内容(最好纯批处理,第三方也行)。谢谢
本帖最后由 yyz219 于 2023-11-25 12:31 编辑
完美解决了
方法1:
@echo off
set /p var=<1.txt
(for /f "tokens=1*" %%i in (a.txt) do (
if /i not "%%i"=="wall" (
if "%%j"=="" (echo,%%i) else (echo,%%i %%j)) else (echo,%%i %var%)))>temp
move /y "temp" "a.txt"
方法2:
@echo off
set "OldFile=a.txt"
set "NewFile=%OldFile%.tmp"
set "InputFile=1.txt"
cd /d "%~dp0"
set /p NewStr=<"%InputFile%"
(for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%OldFile%"') do (
if "%%b" == "" (
echo,
) else (
set "OldStr=%%b"
setlocal enabledelayedexpansion
if not "!OldStr:wall =!" == "!OldStr!" (
echo wall !NewStr!
) else (
echo,!OldStr!
)
endlocal
)
))>"%NewFile%"
move /y "%NewFile%" "%OldFile%" >nul
********************************************************************************************************************************
原来的问题:
需要替换的文本 a.txt(其中: D:\PE整理碎片(很好)\修改PE\程序\!墙纸\灰色.jpg——不是固定的):
... ...
//【3.设置墙纸】
wall D:\PE整理碎片(很好)\修改PE\程序\!墙纸\灰色.jpg
*********************************************************
处理以后需要的结果是:
... ...
//【3.设置墙纸】
wall X:\XX\XX\XX.jpg
其中:X:\XX\XX\XX.jpg————由 1.txt 提供 |
-
1
评分人数
-
|