标题: [文本处理] 求教!批处理拆分txt文件 [打印本页]
作者: 爱琴海不会走 时间: 2019-3-7 16:51 标题: 求教!批处理拆分txt文件
在文件夹下,有 原始.txt,想要将原始.txt进行拆分,拆分成多个txt文件,原始.txt内容如下:- [属性描述]
- 格式版本号=1.01版本
- 数据产生单位=XX公司
- 数据日期=2019-01-26
- [地块坐标]
- 4,324.9,LY61082101-36(19),有易镇燕峁村,面,J49G024040、J49G024041,旱地、灌木林地、其他林地、天然牧草地,013、032、033、041,,@
- 1,1,4320779.030,37455809.964
- 2,1,4320619.166,37455886.015
- 3,1,4320586.758,37455875.298
- 4,1,4320569.917,37455893.435
- 5,214.6,LY61082101-37(19),大当镇公草湾林场、臭管站,面,J49G032033、J49G033033,有林地、灌木林地,031、032,,@
- 1,1,4283530.626,37417702.335
- 2,1,4283527.059,37417698.981
- 3,1,4283518.627,37417688.124
- 4,1,4283514.847,37417683.714
- 5,1,4283510.857,37417678.464
- 4,31.6,FK61082101-08(18),塔哈镇石圪台村,面,J49G015035,采矿用地,204,@
- 1,1,4364946.560,37426185.842
- 2,1,4364946.560,37426196.079
- 3,1,4364946.560,37426207.194
- 4,1,4364945.976,37426216.846
复制代码
这个文件可以拆分为3个txt(由数字部分可以判断出),每个拆分后的txt共用原始.txt的前5行,拆分后的txt命名为LY61082101-36(19).txt、LY61082101-37(19).txt等
拆分后的txt及原始.txt见附件,这个txt只有三部分,请教下大佬如果多的话如何批处理,谢谢!
附件:https://www.lanzous.com/i3ckfrc
作者: ivor 时间: 2019-3-7 17:56
- $file = "C:\Users\mac\Desktop\原始.txt"
- $head = gc $file -TotalCount 5
- gc $file | select-object -skip 5 | %{
- if(($match = [regex]::Match($_,"[A-Z]{2}\d{8}-.{6}")).Length -ne 0){
- $newFile = $match.Value+".txt"
- Set-Content -Value $head -Path $newFile
- Add-Content -Value $_ -Path $newFile
- }else{
- Add-Content -Value $_ -Path $newFile
-
- }
- }
复制代码
作者: 爱琴海不会走 时间: 2019-3-7 19:25
回复 2# ivor
大哥,这个杂用啊?不是bat?
作者: ivor 时间: 2019-3-7 19:26
- <# :
- @echo off
- rem 增强代码兼容性,代码保存为 ".bat"、".cmd"、".ps1"均可执行
- powershell Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
- more +8 "%~f0" > "%~dpn0.ps1"
- powershell -File "%~dpn0.ps1"
- del "%~dpn0.ps1"&pause&exit /b
- #>
- $file = "C:\Users\mac\Desktop\原始.txt"
- $head = gc $file -TotalCount 5
- gc $file | select-object -skip 5 | %{
- if(($match = [regex]::Match($_,"[A-Z]{2}\d{8}-.{6}")).Length -ne 0){
- $newFile = $match.Value+".txt"
- Set-Content -Value $head -Path $newFile
- Add-Content -Value $_ -Path $newFile
- }else{
- Add-Content -Value $_ -Path $newFile
-
- }
- }
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |