2013-10-26 220 views
0

我试图将一系列txt文件分成两个文件。以下是其中一个文件。第一个新文件应包含“良好许可修订”之前的所有内容。第二个文件包含此字符串后的所有内容。使用bat文件分割txt文件

我想知道的下一个技巧是如何修复长度分隔结果文件到csv的。

在此先感谢。

文件示例:

       ENERGY RESOURCES CONSERVATION BOARD         

           WELL LICENCES ISSUED DAILY LIST          



DATE: 04 January 2010                    


--------------------------------------------------------------------------------------------   
WELL NAME    LICENCE NUMBER   MINERAL RIGHTS  GROUND ELEVATION     
UNIQUE IDENTIFIER  SURFACE CO-ORDINATES BOARD FIELD CENTRE PROJECTED DEPTH     
LAHEE CLASSIFICATION FIELD          TERMINATING ZONE     
DRILLING OPERATION  WELL PURPOSE   WELL TYPE   SUBSTANCE      
LICENSEE               SURFACE LOCATION     
--------------------------------------------------------------------------------------------   

SUNCOR ET AL MEDHAT 9-17-15-4  0416613 ALBERTA CROWN  753.3M       
100/09-17-015-04W4/00 S 543.4M W 167.6M MEDICINE HAT   656.8M       
DEV (NC)        MEDICINE HAT     FISH SCALE ZONE     
VERTICAL        NEW  PRODUCTION   GAS        
SUNCOR ENERGY INC.     

AMENDMENTS OF WELL LICENCES 
--------------------------- 

WELL NAME AND U.I.D.    LICENCE NO. AMENDED TO READ 
--------------------    ----------- --------------- 

PARA ET AL HZ RE VALHALLA 4-34-75-11 0358541 TARGET SUBSTANCE(1)         
100/04-34-075-11W6/02       GAS FROM MONTNEY FM         

SHPACIFIC OV MCKAY 2-17-91-14   0416002 TERMINATING ZONE:         
1AA/02-17-091-14W4/00       WOODBEND GRP          

WELL LICENCES CANCELLED 
----------------------- 

WELL NAME AND U.I.D.    LICENCE NO.              
--------------------    -----------              

QRCI ET AL THREEHCK 14-19-36-26  0404101              
100/14-19-036-26W4/00                    

ARC ETAL 102 PEMBINA 15-34-48-8  0407157              
100/15-34-048-08W5/00                    


-------------------- END OF WELL LICENCES DAILY LIST -------------------- 
+0

不好意思问,这是你的功课?请分享迄今为止你做了什么。 –

+0

这是一个爱好项目。所以没有传统意义上的单词作业。我已经想出了如何去掉标题。我知道如何重命名我的文件以使我能够重新使用一个cmd文件来处理这个系列文件,并且我已经弄清楚如何合并多个csv文件。在这一点上,我选择使用cmd来处理一个csv,以使我能够将结果导入任何数据库。 – user2738826

回答

3

纯一批

@ECHO OFF &SETLOCAL 
for /f "delims=[]" %%a in ('^<file.txt find /n "AMENDMENTS OF WELL LICENCES"') do set "LineFound=%%a" 
echo "AMENDMENTS OF WELL LICENCES" found in line #%LineFound%. 
set /a LineFound-=1 
SETLOCAL ENABLEDELAYEDEXPANSION 
<file.txt (
for /l %%a in (1,1,%LineFound%) do (
    set "Line=" 
    set/p "Line=" 
    echo(!Line! 
))>file1.txt 
endlocal 
<file>file2.txt more +%LineFound% 
type file?.txt 
+0

感谢Endoro的伟大工程。 – user2738826

2

这不加载额外的工具一个可靠的方法,并使用名为从findrepl.bat一个帮手批处理文件 - 在同一个文件夹中的批处理文件https://www.dropbox.com/s/rfdldmcb6vwi9xc/findrepl.bat

广场findrepl.bat

输入文件是file.txt

type file.txt | findrepl "." /e:"AMENDMENTS OF WELL LICENCES" /o:-1:-1 >file1.txt 
type file.txt | findrepl /v "." /e:"AMENDMENTS OF WELL LICENCES" /o:-1:-1 >file2.txt