2013-11-15 68 views
0

以下解析output.txt中,并获得基于行新的SQL脚本文件output.txt中:批处理脚本从output.txt的

 
Changed database context to 'MY_DB'. 
name                                
-------------------------------------------------------------------------------------------------------------------------------- 
UserDomains                              
ApprovalConfiguration                           
ApprovalLevelRoles                            
CreditCardHolderTitle                           
ApprovalRole                              

(22 rows affected) 
name                                
-------------------------------------------------------------------------------------------------------------------------------- 
ApprovalConfigurationDelete                          
ApprovalConfigurationInsert                          
ApprovalConfigurationSelect                          
ApprovalConfigurationsSelectAll                         


(103 rows affected) 

SQL表的下面是名

 
UserDomains                              
ApprovalConfiguration                           
ApprovalLevelRoles                            
CreditCardHolderTitle                           
ApprovalRole 

...这是一个存储过程的名称

 
ApprovalConfigurationDelete                          
ApprovalConfigurationInsert                          
ApprovalConfigurationSelect                          
ApprovalConfigurationsSelectAll 

我想以某种方式来区分存储过程表秒。 批处理脚本应该能够产生一个SQL文件和填充它因此,在年底新的SQL文件表和存储过程中的各行从output.txt的

应该是类似的东西:

 
-- TABLES 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'UserDomains', @type = N'logbased' 
GO 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'ApprovalConfiguration', @type = N'logbased' 
GO 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'ApprovalLevelRoles', @type = N'logbased' 
GO 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'CreditCardHolderTitle', @type = N'logbased' 
GO 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'ApprovalRole', @type = N'logbased' 
GO 

-- STORE PROCEDURES 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'ApprovalConfigurationDelete', @type = N'proc schema only' 
GO 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'ApprovalConfigurationInsert', @type = N'proc schema only' 
GO 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'ApprovalConfigurationSelect', @type = N'proc schema only' 
GO 
exec sp_addarticle @publication = N'$(PublicationName)', @article = N'ApprovalConfigurationsSelectAll', @type = N'proc schema only' 
GO 

感谢球员为您提前帮助!下面

的血清

回答

0

批处理文件,做你想做的划分,只是完成输出细节。

@echo off 
setlocal EnableDelayedExpansion 

for /F %%a in (output.txt) do (
    set "line=%%a" 
    if "!TABLE!" equ "true" (
     if "!line:~0,1!" neq "(" (
     echo TABLE: !line! 
    ) else (
     set TABLE=false 
    ) 
    ) else if "!PROC!" equ "true" (
     if "!line:~0,1!" neq "(" (
     echo PROC: !line! 
    ) else (
     set PROC=false 
    ) 
    ) else if not defined TABLE (
     if "!line:~0,1!" equ "-" (
     set TABLE=true 
     echo -- TABLES 
    ) 
    ) else if "!line:~0,1!" equ "-" (
     set PROC=true 
     echo -- STORE PROCEDURES 
    ) 
)