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

[文本处理] 【已解决】批处理如何统计一个文件里有多少个数据,并写入文件名?

[复制链接]
发表于 2014-7-24 10:41:16 | 显示全部楼层 |阅读模式
比如一个文件夹1里有许多文本文件1.txt,2.txt...,1.txt里有58个数据,2.txt里有118个数据...,将其全部统计出来,并将对应的文件名改为1-58.txt,2-118.txt...,请问如何实现?
发表于 2014-7-24 11:59:19 | 显示全部楼层
条件  文件不含空行  文件名不含空格
  1. @echo off
  2. for /f "tokens=1*delims=:- " %%i in ('FIND /c /v "" *.txt') do echo ren %%i %%~ni-%%j%%~xi
  3. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
ysrr2011 + 1 感谢

查看全部评分

 楼主| 发表于 2014-7-24 12:30:47 | 显示全部楼层
回复 2# terse

修改了一下,去了一个echo,可以运行了,但必须放在文件夹1下,可以加入路径吗?

    @echo off
for /f "tokens=1*delims=:- " %%i in ('FIND /c /v "" *.txt') do ren %%i %%~ni-%%j%%~xi

pause
发表于 2014-7-24 13:14:31 | 显示全部楼层
回复 3# ysrr2011


@echo off
cd /d "C:\test"
for /f "tokens=1*delims=:- " %%i in ('FIND /c /v "" *.txt') do echo ren %%i %%~ni-%%j%%~xi
pause

评分

参与人数 1技术 +1 收起 理由
ysrr2011 + 1 感谢

查看全部评分

发表于 2014-7-24 14:53:23 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. ::获取资料夹内TXT文件内数据量并改名
  3. color 1f
  4. set /p sr=请选择1(修改)2(恢复):

  5. if %sr%==1 goto :gg
  6. if %sr%==2 goto :hh
  7. goto :eof

  8. :gg
  9. if exist 文件名.log del 文件名.log
  10. for /f "delims=" %%I in ('dir /a-d /b *.TXT') do (
  11. set /a N+=1,H=10000+N
  12. set "H=!H:~-2!"
  13. set /a M=0
  14. for /f "delims=" %%K in (%%I) do (
  15. set /a M+=1
  16. )
  17. echo 文件%%~nI内数量为!M!个
  18. echo %%I^|%%~nI-!M!.txt>>文件名.log
  19. ren %%I %%~nI-!M!.txt
  20. )
  21. goto :end

  22. :hh
  23. for /f "delims=" %%i in ('dir /a-d/b *.txt') do (
  24. for /f "tokens=1 delims=^|" %%f in ( 文件名.log ) do (
  25. ren %%i %%f
  26. )
  27. )

  28. :end
  29. echo.修改完成!4秒后退出...
  30. ping -n 4 127.1>nul



  31. ::简要说明:对于变量%0~%9及for里使用的%%i这样的变量,可以有以下的语法:
  32. ::     ~I         - 删除任何引号("),扩充 %I
  33. ::     %%~fI        - 将 %%I 扩充到一个完全合格的路径名
  34. ::     %%~dI        - 仅将 %%I 扩充到一个驱动器号
  35. ::     %%~pI        - 仅将 %%I 扩充到一个路径
  36. ::     %%~nI        - 仅将 %%I 扩充到一个文件名
  37. ::     %%~xI        - 仅将 %%I 扩充到一个文件扩展名
  38. ::     %%~sI        - 扩充的路径只含有短名
  39. ::     %%~aI        - 将 %%I 扩充到文件的文件属性
  40. ::     %%~tI        - 将 %%I 扩充到文件的日期/时间
  41. ::     %%~zI        - 将 %%I 扩充到文件的大小
复制代码
我写了个,测试可以满足你的要求,增加了恢复功能
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 19:39 , Processed in 0.026115 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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