以下是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 TABLES的名称
UserDomains ApprovalConfiguration ApprovalLevelRoles CreditCardHolderTitle ApprovalRole
......这个是商店程序的名称
ApprovalConfigurationDelete ApprovalConfigurationInsert ApprovalConfigurationSelect ApprovalConfigurationsSelectAll
我想以某种方式区分表和存储过程。 批处理脚本应该能够生成一个SQL文件并为每行表填充它并从output.txt存储过程
所以最后新的SQL文件应该是这样的:
-- 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
先谢谢你们的帮助!
Sero
答案 0 :(得分: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
)
)