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

[文本处理] 【已解决】批处理如何替换/修改文本中指定位置的字符?

[复制链接]
发表于 2016-5-19 00:23:08 | 显示全部楼层 |阅读模式
本帖最后由 popelrain 于 2016-5-19 21:10 编辑

ABTC     10  CM  JMK     2     -20.348
ABTC     11  CO  JMK     2     -20.569
ABTC     12  C    JMK     3     -20.742
ABTC     13  CF  ABC     3     -20.575
ABTC     14  CA  ABC     3     -20.769
ABTC     15  CF  YUC     4     -20.525
ABTC     16  CA  YUC     4     -20.729

文本里很多行这样的数据,
1、我想在JMK、ABC和YUC后面加上一列字母A,A前面有1个空格。
2、变完后每行的字符数和之前还是一样的,相当于字母A只是替换了JMK、ABC和YUC后面的第2个空格。

变成:
ABTC     10  CM  JMK A  2     -20.348
ABTC     11  CO  JMK A  2     -20.569
ABTC     12  C    JMK A  3     -20.742
ABTC     13  CF  ABC A  3     -20.575
ABTC     14  CA  ABC A  3     -20.769
ABTC     15  CF  YUC A  4     -20.525
ABTC     16  CA  YUC A  4     -20.729

这个如何通过批处理实现的,请教大神!

评分

参与人数 2PB -4 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样
pcl_test -6 勿发笼统的标题

查看全部评分

发表于 2016-5-19 08:20:25 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in ('type "1.txt"') do (
  4.     set "OldStr=%%i"
  5.     set "NewStr=!OldStr:~0,20! A !OldStr:~23!"
  6.     echo !NewStr!
  7. ))>2.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2016-5-19 08:29:20 | 显示全部楼层
举个栗子
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('more +7 "%~f0"') do (
  3.         set "str=%%a"
  4.         for %%b in (JMK ABC YUC) do set "str=!str: %%b  = %%b A!"
  5.         echo;!str!
  6. )
  7. pause
  8. ABTC     12  C    JMK     3     -20.742
  9. ABTC     13  CF  ABC     3     -20.575
  10. ABTC     16  CA  YUC     4     -20.729
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2016-5-19 21:08:13 | 显示全部楼层
回复 2# gawk

大神!膜拜!谢谢!!
 楼主| 发表于 2016-5-19 21:09:16 | 显示全部楼层
回复 3# pcl_test


  非常感谢!
 楼主| 发表于 2016-5-19 21:10:02 | 显示全部楼层
问题已解决!谢谢各位!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 18:36 , Processed in 0.019094 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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