标题: [文件操作] 批处理调用gLAB怎样批量处理文件? [打印本页]
作者: tliuhanlin 时间: 2019-6-13 10:15 标题: 批处理调用gLAB怎样批量处理文件?
大神请教,我是批处理小白。
以下是单一次运行在cmd下的命令。
但是我有大量的文件需要批处理,需要改的东西就是“madr2000.06o” “igs13843.sp3”这两个文件名,运行一次下一次文件名的数字+1,然后所有的文件输出到“gLAB.out”,而不是重新覆盖,不知道可行吗?卡住好几天了。。。。。
头真的晕了
"D:\gLAB\win\gLAB.exe" -inputbs "D:\gLAB\test\madr2000.06o" -input:ant "D:\gLAB\test\igs05.atx" -input:sp3 "D:\gLAB\test\igs13843.sp3" -output:file "D:\gLAB\win\gLAB.out" -print:all
作者: Batcher 时间: 2019-6-13 11:05
madr2000.06o
madr2001.06o
madr2002.06o
igs13843.sp3
igs13844.sp3
igs13845.sp3
是这样吗?
总共多少个文件呢?
作者: tliuhanlin 时间: 2019-6-13 13:04
是的,差不多,第一个文件madr开头以o结尾的是一年一共是365个,也就是一年的数据,文件命名规则是第一个madr0010.06o最后一个文件名madr3650.06o
下一年就是madr0010.07o,周而复始,平年365个,闰年366个
第二个文件是7天一循环,只要上面的文件有,下面就会搭配好,没有最后一个文件
igs13840.sp3 igs13841.sp3 ... igs13846.sp3, 然后下一周igs13850.sp3
例如上面例子“madr2000.06o” “igs13843.sp3“就是搭配好了,按照上述规命名规则搭配
完全没头绪怎么写批处理,感觉好复杂,卡住一周了
作者: Batcher 时间: 2019-6-13 13:25
madr0010.06o是和igs13840.sp3搭配对吗?
下一周igs13850.sp3是根据什么规律计算出来的?下下周应该是什么呢,需要总结规律。
作者: tliuhanlin 时间: 2019-6-13 14:00
madr0010.06o 是与 igs13560.sp3 搭配,
madr文件命名规则是,madr后面跟四位数字XXX0,前三位是001-365(平年),闰年是001-366,由于2006年为平年所以,该文件最大值是madr3650.06o。
igs文件的命名规则就是,igs后一共有五个数字xxxxx,第一个为igs13560.sp3, 下一天最后一个数字加1,变为igs13561.sp3,7天后,前面数字加1,该数字变为0,也就是7天一循环,例如madr0010.06o搭配的第一个就是igs13560.sp3
例如
madr0010.06o igs13560.sp3
madr0020.06o igs13561.sp3
madr0030.06o igs13562.sp3
madr0040.06o igs13563.sp3
madr0050.06o igs13564.sp3
madr0060.06o igs13565.sp3
madr0070.06o igs13566.sp3
madr0080.06o igs13570.sp3
madr0090.06o igs13571.sp3
madr0100.06o igs13572.sp3
madr0110.06o igs13573.sp3
madr0120.06o igs13574.sp3
madr0130.06o igs13575.sp3
madr0140.06o igs13576.sp3
madr0150.06o igs13580.sp3
madr0160.06o igs13581.sp3
一直类推直到该年最后一天即为
madr3650.06o igs14080.sp3
一年的数据就处理完了
不知道我解释清楚没有,谢谢您
作者: zaqmlp 时间: 2019-6-13 16:46
- @echo off
- mode con lines=1000
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- cd /d "%~dp0"
- for /f "tokens=2 delims==" %%a in ('wmic OS get LocalDateTime /value ^| find "="') do set "day=%%a"
- set year=%day:~,4%
- >nul 2>&1 set/a"1/!(year%%4)&!(!(year%%100))|!(year%%400)"&&(set y=366)||(set y=365)
- title %info% %year%[%y%]
- set "i=13560,j=0,k=0"
- for /l %%a in (1 1 %y%) do (
- set /a "n=(10000+%%a)*10,m=n/10,s=i+10*j+k
- setlocal enabledelayedexpansion
- echo;[!n:~-4! !s! !m:~-3!]
- "D:\gLAB\win\gLAB.exe" -input:obs "D:\gLAB\test\madr!n:~-4!.06o" -input:ant "D:\gLAB\test\igs05.atx" -input:sp3 "D:\gLAB\test\igs!s!.sp3" -output:file "D:\gLAB\win\gLAB!m:~-3!.out" -print:all
- endlocal
- set /a k+=1
- >nul 2>&1 set /a "1/(%%a %% 7)"||(set /a "j+=1,k=0")
- )
- echo;%info%
- pause
复制代码
作者: tliuhanlin 时间: 2019-6-13 17:11
谢谢,我先跑跑试试,
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |