标题: [文本处理] 批处理如何将TXT中提取字符串每两个字符增加一个冒号并输出指定格式? [打印本页]
作者: wc365 时间: 2014-5-15 10:28 标题: 批处理如何将TXT中提取字符串每两个字符增加一个冒号并输出指定格式?
1.TXT文件中有如下类似1行或者多行固定16个字符长度的字符串
10000000C97E5FFA
20000000C97E34AB
C050760502C90042
C050760501BF0036
2.将以上字符串每两个字符插入一个冒号,如下:
10:00:00:00:C9:7E:5F:FA
20:00:00:00:C9:7E:34:AB
C0:50:76:05:02:C9:00:42
C0:50:76:05:01:BF:00:36
3.按照“字符串1,字符串2,字符串3,...字符串4”的格式输出,或生成新的字符串
“10:00:00:00:C9:7E:5F:FA,20:00:00:00:C9:7E:34:AB,C0:50:76:05:02:C9:00:42,C0:50:76:05:01:BF:00:36”
谢谢各位!
作者: 522235677 时间: 2014-5-15 11:07
2- @echo off
- for /f %%a in (1.txt) do (
- set str=%%a
- for /l %%b in (0 2 14) do (
- call set /p=%%str:~%%b,2%%<nul
- if %%b neq 14 set /p=:<nul
- )
- echo.
- )
- pause
复制代码
3- @echo off
- for /f %%a in (1.txt) do (
- set str=%%a
- for /l %%b in (0 2 14) do (
- call set /p=%%str:~%%b,2%%<nul
- if %%b neq 14 (set /p=:<nul) else (set /p=,<nul)
- )
- )
- pause
复制代码
作者: wc365 时间: 2014-5-15 16:04
本帖最后由 wc365 于 2014-5-15 16:17 编辑
谢谢,如果我想把输出赋予一个变量应该如何写呢
c=10:00:00:00:C9:7E:5F:FA,20:00:00:00:C9:7E:34:AB,C0:50:76:05:02:C9:00:42,C0:50:76:05:01:BF:00:36
回复 2# 522235677
作者: 522235677 时间: 2014-5-15 19:07
回复 3# wc365 - @echo off
- (for /f %%a in (1.txt) do (
- set str=%%a
- for /l %%b in (0 2 14) do (
- call set /p=%%str:~%%b,2%%<nul
- if %%b neq 14 (set /p=:<nul) else (set /p=,<nul)
- )
- ))>~tmp
- for /f %%a in (~tmp) do set str=%%a
- del ~tmp
- echo %str:~0,-1%
- pause
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |