找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 22641|回复: 3

[文本处理] 批处理如何将TXT中提取字符串每两个字符增加一个冒号并输出指定格式?

[复制链接]
发表于 2014-5-15 10:28:46 | 显示全部楼层 |阅读模式
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”

谢谢各位!
发表于 2014-5-15 11:07:16 | 显示全部楼层
2
  1. @echo off
  2. for /f %%a in (1.txt) do (
  3.         set str=%%a
  4.         for /l %%b in (0 2 14) do (
  5.                 call set /p=%%str:~%%b,2%%<nul
  6.                 if %%b neq 14 set /p=:<nul
  7.         )
  8.         echo.
  9. )
  10. pause
复制代码
3
  1. @echo off
  2. for /f %%a in (1.txt) do (
  3.         set str=%%a
  4.         for /l %%b in (0 2 14) do (
  5.                 call set /p=%%str:~%%b,2%%<nul
  6.                 if %%b neq 14 (set /p=:<nul) else (set /p=,<nul)
  7.         )
  8. )
  9. pause
复制代码
 楼主| 发表于 2014-5-15 16:04:58 | 显示全部楼层
本帖最后由 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
发表于 2014-5-15 19:07:03 | 显示全部楼层
回复 3# wc365
  1. @echo off
  2. (for /f %%a in (1.txt) do (
  3.         set str=%%a
  4.         for /l %%b in (0 2 14) do (
  5.                 call set /p=%%str:~%%b,2%%<nul
  6.                 if %%b neq 14 (set /p=:<nul) else (set /p=,<nul)
  7.         )
  8. ))>~tmp
  9. for /f %%a in (~tmp) do set str=%%a
  10. del ~tmp
  11. echo %str:~0,-1%
  12. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 04:24 , Processed in 0.036924 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表