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

[文本处理] [已解决]批处理怎样批量统计并更改文件内容?

[复制链接]
发表于 2018-11-22 10:23:20 | 显示全部楼层 |阅读模式
本帖最后由 786021512 于 2018-11-28 19:04 编辑

是这样子的,我有一些程序需要更改,内容如下
&access
DEF V1()
Collision(ence1)
  MAcc(100)
PovL (to1234567890,fine,100,gun,car,load)
PovL (to1234567880,fine,100,gun,car,load)
PBC (to1234567880,fine,100,gun,car,load)
DEFCARBU
PovP (to1234567870,fine,100,gun,car,load)
PovP (to1234567840,fine,100,gun,car,load)
PovP (to1234567830,fine,100,gun,car,load)
OPED
PovL (to1234567870,fine,100,gun,car,load)
PovP (to1234567840,fine,100,gun,car,load)
PovL (to1234567830,fine,100,gun,car,load)

(counter,6666)

我想要统计上面PovP与PovL出现的次数,并修改他(counter,8)
现在在一个目录下有N个这样的文件,想要做出一个批处理自动修改这个目录下的所有内容

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2018-11-22 13:53:07 | 显示全部楼层
每个文件 统计完成的PovP与PovL次数写在哪里 ?
并修改他(counter,8)    怎么修改?修改成什么?
 楼主| 发表于 2018-11-22 14:50:18 | 显示全部楼层
回复 2# cfwyy77_bat
是这样子的,我的程序里面会固定的写入(counter,6666)把次数6666替换成实际次数
发表于 2018-11-22 15:33:14 | 显示全部楼层
回复 3# 786021512


    实际次数是 PovP与PovL次数相加?
 楼主| 发表于 2018-11-22 20:02:02 | 显示全部楼层
回复 4# cfwyy77_bat
是的
发表于 2018-11-23 09:30:24 | 显示全部楼层
本帖最后由 cfwyy77_bat 于 2018-11-23 13:31 编辑

回复 6# 786021512
当前目录建了一个NEW文件来存放结果文件。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. if not exist NEW mkdir NEW
  4. for /f "tokens=*" %%i in ('dir /b *.txt') do (
  5.         for /f %%j in ('type "%%i" ^|find /c "PovL"') do set a=%%j
  6.         for /f %%k in ('type "%%i" ^|find /c "PovP"') do set b=%%k
  7.         set /a total=a+b
  8.         (for /f "tokens=* delims=" %%l in (%%i) do (
  9.                 set "str=%%l"
  10.                 if "!str:~0,8!" =="(counter" ( echo;(counter,!total!)
  11.                         ) else ( echo;!str!)
  12.         ))>.\NEW\%%i
  13.         )
  14. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
786021512 + 1 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2018-11-23 11:46:33 | 显示全部楼层
回复 7# cfwyy77_bat
谢谢但是还是有个问题
counter这段是随机在程序里面的,有可能是第3行也有可能在第N行
我希望是替换这行的内容
发表于 2018-11-23 13:32:05 | 显示全部楼层
回复 8# 786021512

已更新。
 楼主| 发表于 2018-11-25 17:59:33 | 显示全部楼层
回复 9# cfwyy77_bat


    谢谢,但是还是有问题,我程序里面有些以*号开头的行,用上面的批处理会被隐去
发表于 2018-11-26 07:49:01 | 显示全部楼层
回复 10# 786021512
*号开头的 都没有特别,会原样输出的。我这里都正常的。
另外程序有任何特殊的应提前说明,不然别人肯定按你给的例子来写。
 楼主| 发表于 2018-11-28 07:25:16 | 显示全部楼层
回复 10# cfwyy77_bat


    好的感谢,我自己这边加了个eol就解决了我这边开头的是分号~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 21:34 , Processed in 0.019882 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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