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

[文本处理] [已解决]如何删除txt文本中第7列数字后面的两个0(指定列内容中的最后两个字符)

[复制链接]
发表于 2015-7-15 17:03:30 | 显示全部楼层 |阅读模式
2015/07/07 1000 17.43 17.44 17.41 17.41 1064700 18551960.00
2015/07/07 1001 17.43 17.46 17.40 17.46 1336800 23312896.00
2015/07/07 1002 17.45 17.46 17.41 17.41 1071600 18692142.00
2015/07/07 1003 17.44 17.48 17.43 17.48 1227300 21430124.00
2015/07/07 1004 17.45 17.49 17.41 17.41 1013000 17672410.00
2015/07/07 1005 17.42 17.44 17.40 17.40 1275300 22206702.00
2015/07/07 1013 17.48 17.48 17.42 17.46 1416400 24738636.00
2015/07/07 1014 17.46 17.46 17.42 17.44 775400 13523520.00
2015/07/07 1015 17.42 17.44 17.41 17.42 884500 15409006.00
2015/07/07 1016 17.42 17.43 17.40 17.43 1096600 19101864.00
2015/07/07 1017 17.42 17.44 17.38 17.41 951100 16561428.00
2015/07/07 1018 17.41 17.42 17.40 17.40 610700 10630553.00
2015/07/07 1019 17.40 17.42 17.37 17.38 959800 16697726.00
2015/07/07 1020 17.39 17.39 17.36 17.36 736100 12785192.00
数据





--------------------------------------------------------------------------------------------------------------------
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p "目录=文件夹名称:"
  4. for /f "delims=" %%n in ('dir /s /b "%cd%\%目录%\*.txt"') do (
  5. ren "%%n" "%%~nxn_"
  6. for /f "delims=数据 tokens=1" %%i in ( 'type "%%n_"' ) do (
  7. set s=%%i
  8. echo !s:~,13!:!s:~13!>>%%n))
  9. Del /q /s /f "%cd%\%目录%\*_"
  10. PAUSE
复制代码
现在bat代码 在第13个字符的位置加“:”冒号并删除文本中底部“数据”字符。

但删除第7列数字后面两个0不知道要怎么写了,请高手们帮帮忙在我原来代码基础上修改一下!谢谢!
发表于 2015-7-15 18:51:26 | 显示全部楼层
覆盖源文件,注意备份
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p "目录=文件夹名称:"
  3. for /f "delims=" %%a in ('dir /s /b "%cd%\%目录%\*.txt"') do (
  4. (for /f "tokens=1-7*" %%b in ('type "%%a"') do (
  5. set s1=%%c
  6. set s2=%%h
  7. if "!s2:~-2!" equ "00" (set "s2=!s2:~,-2!")
  8. echo;%%b !s1:~,2!:!s1:~-2,2! %%d %%e %%f %%g !s2! %%i
  9. ))>"%%~dpa$"
  10. move "%%~dpa$" "%%a"
  11. )
  12. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
空-空 + 1 技术很好!

查看全部评分

 楼主| 发表于 2015-7-15 19:58:14 | 显示全部楼层
回复 2# pcl_test
谢谢!

文本底部的文字没去掉,还增加了“~,2s1:~-2,2s2 ”字符,这是什么原因呢?
发表于 2015-7-15 20:11:37 | 显示全部楼层
回复 3# 空-空

你文档最后一行都是“数据”两字?还是有些有有些没有?最后一行都有哪些情况,要说起清楚
 楼主| 发表于 2015-7-15 20:35:12 | 显示全部楼层
回复 4# pcl_test


    最后一行全部文档中都是“数据”,都有的
发表于 2015-7-15 20:36:30 | 显示全部楼层
回复 5# 空-空
改一行
if "!s2!" neq "" (echo;%%b !s1:~,2!:!s1:~-2,2! %%d %%e %%f %%g !s2! %%i)

评分

参与人数 1技术 +1 收起 理由
空-空 + 1 技术好,人又热心

查看全部评分

 楼主| 发表于 2015-7-15 20:46:02 | 显示全部楼层
回复 6# pcl_test

试了一下,改了一行文本底部的文字没去掉
发表于 2015-7-15 20:51:55 | 显示全部楼层
回复 7# 空-空

测试没问题
 楼主| 发表于 2015-7-15 21:20:36 | 显示全部楼层
回复  空-空

测试没问题
pcl_test 发表于 2015-7-15 20:51



    非常感谢,试了,没问题,是我改错了
发表于 2015-7-26 00:44:26 | 显示全部楼层
用 gawk 来一个
  1. @gawk "{gsub("..$","",$7)};1" a.txt >b.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 16:03 , Processed in 0.021788 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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