标题: [文本处理] 【已解决】BAT:如何在指定位置插入字符 [打印本页]
作者: 思想之翼 时间: 2023-9-23 16:03 标题: 【已解决】BAT:如何在指定位置插入字符
本帖最后由 思想之翼 于 2023-9-24 05:55 编辑
D:\DATA\1.txt记录格式为:
123=000 001=124=003 005 006=125=007
123=000 001=124=003 005 006=125=007
...
123=000=124=003 006=125=007
如何在所有行的第2 4 6 8...个“=”右侧,插入“=”?
结果为:
123=000 001==124=003 005 006==125=007
123=000 001==124=003 005 006==125=007
...
123=000==124=003 006==125=007
作者: pd1 时间: 2023-9-23 17:13
- '123=000 001=124=003 005 006=125=007
- 123=000 001=124=003 005 006=125=007
- ...
- 123=000=124=003 006=125=007' -replace '=(.*?)=','=$1=='
复制代码
作者: 77七 时间: 2023-9-23 17:59
- @echo off
- (for /f "useback delims=" %%x in ("D:\DATA\1.txt") do (
- setlocal
- call :1 "%%x"
- endlocal
- ))>"D:\DATA\2.txt"
- pause & exit
-
- :1
- for /f "tokens=1* delims==" %%a in ("%~1") do (
- set str=%str%%%a=%m%
- if "%%b" neq "" (
- if defined m (
- set m=
- ) else (
- set m==
- )
- call :1 "%%b"
- ) else (
- echo %str%%%a
- exit /b
- )
- )
复制代码
作者: Five66 时间: 2023-9-23 18:00
本帖最后由 Five66 于 2023-9-23 18:20 编辑
不知行否,记录内容最好不要有特殊字符
会在当前目录生成新文件2.txt
已编辑- @echo off
-
- set "fpath=D:\DATA\1.txt"
-
- (for /f "usebackq delims=" %%i in ("%fpath%") do (
- set "str=%%i"
- setlocal enabledelayedexpansion
- set str2=!str: =$#$!
- set n=0
- for %%a in (!str2!) do (
- set /a n+=1,m=n%%2
- if !m! equ 0 (
- set "str3=!str3!%%a=="
- ) else (
- set "str3=!str3!%%a="
- )
- )
- if !m! equ 0 (
- set str3=!str3:~0,-2!
- ) else (
- set str3=!str3:~0,-1!
- )
- echo=!str3:$#$= !
- endlocal
- ))>2.txt
-
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |