[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

【已解决】50元求助批处理根据文件名统计数量

本帖最后由 sysclock 于 2019-5-22 14:00 编辑

有一些文件,通过dir命令已经得到文件名,要进一步处理
===文件名=====
20190511152311.032357965-CP14.dat
20190511152313.030170535-CP14.dat
20190511152315.030184055-CP14.dat
20190511152317.030193560-CP14.dat
20190511152319.030201595-CP14.dat
20190511152321.030213575-CP14.dat
20190511152323.030224565-CP14.dat
20190511152325.030236580-CP14.dat
20190511152327.030251605-CP14.dat
20190511152329.030265035-CP14.dat
20190511152331.030282525-CP14.dat
20190511152333.030282450-CP14.dat
20190511152335.030294475-CP14.dat
20190511152337.030309415-CP14.dat

上述名字的格式:如“20190511152337.030309415-CP14”  是年4位-月2位-日2位-时2位-分2位-秒2位.ms3位-us3位-ns3位 - 站点名字符若干-站点序号2位
要处理的事:
1、统计文件的数量;
2、统计所有文件中ns的分布:000-099内多少个;100-199内多少个,---;能再统计us分布更好
us分布                  ms 次数              us 次数                      ns 次数
----------------------------------------------------------------------------------
000-099                    53
100-199                    22
.........

3、如果小数点后面的年月日时分秒相同的文件,这些文件的站点序号(.dat的前2个数字不同)不同,统计不同的站点序号,在不容的时刻相差多少

支付宝50元有人愿意帮忙吗?后面还有类似的事情请求帮忙。
谢谢。
  1. dir /b *.dat > 1.txt
  2. ::get ms-us-ns value
  3. ::for /f "delims=. tokens=2" %%i in (1.txt) do (echo %%i)
  4. for /f "delims=. tokens=2" %%i in (1.txt) do (
  5. echo %%i >>2.txt
  6. )
  7. ::discard -StationName-StationNumber
  8. for /f "delims=- tokens=1" %%i in (2.txt) do (
  9. echo %%%i >>3.txt
  10. )
  11. ::这一步总是出错。
  12. for /f "delims=- tokens=1 %%i in (3.txt) do (
  13. set str=%%i
  14. set var=%str:~7,9%
  15. echo %var% >>4.txt
  16. )
复制代码
你好,北京

本帖最后由 sysclock 于 2019-5-19 12:03 编辑

谢谢版主~

3、如果小数点后面的年月日时分秒相同的文件,这些文件的站点序号(.dat的前2个数字不同)不同,统计不同的站点序号,在不同的时刻相差的ns数是多少

实际中,采集的文件是这样的
20190511152335.030294475-CP14.dat
20190511152337.030309415-CP14.dat

20190511152335.030294435-CP15.dat
20190511152337.030309455-CP15.dat

20190511152335.030294495-CP16.dat
20190511152337.030309435-CP16.dat
.......

可以看到,20190511152335这一秒,有三个站点生成了文件,产生如下一个比较输出是最好(diff是所有不同的台站的同一时刻的最大值-最小值):
TIME                              CP14                                    CP15                          CP16          diff
-----------------------------------------------------------------------------------------------------------------
20190511152335        475                                 435                               495               60
20190511152337        415                                 455                                435              40
......

如果某个时刻,某个站点没有数据,用×表示;
你好,北京

TOP

佩服佩服~
谢谢!

回复 4# zaqmlp
你好,北京

TOP

本帖最后由 sysclock 于 2019-5-21 21:39 编辑

已经结题.高手中更有高手,请amwfjhh兄弟留个支付宝号码,一包香烟,略表谢意,谢谢大家
你好,北京

TOP

返回列表