标题: [文本处理] [分享]批处理替换前后的两个字符串都是延迟变量的时候该怎么写 [打印本页]
作者: Batcher 时间: 2023-5-18 21:22 标题: [分享]批处理替换前后的两个字符串都是延迟变量的时候该怎么写
【问题描述】
请教大佬们,用set替换字符串,当替换前后的两个字符串都是延迟变量的时候该怎么写? 我还是写不对
作者: Batcher 时间: 2023-5-18 21:22
【解决方案】
test-1.bat- @echo off
- setlocal enabledelayedexpansion
- set "x=0"
- set "y=1"
- for /f "delims=" %%i in (1.txt) do (
- set /a x+=1
- set /a y+=1
- set "OldStr=%%i"
- call set NewStr=%%OldStr:!x!=!y!%%
- echo,!NewStr!
- )
- pause
复制代码
作者: Batcher 时间: 2023-5-18 21:27
另外一种写法:
test-2.bat- @echo off
- setlocal enabledelayedexpansion
- set "x=0"
- set "y=1"
- for /f "delims=" %%i in (1.txt) do (
- set /a x+=1
- set /a y+=1
- set "OldStr=%%i"
- for /f "tokens=1-2" %%a in ("!x! !y!") do (
- set "NewStr=!OldStr:%%a=%%b!"
- )
- echo,!NewStr!
- )
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |