- @echo off
- setlocal enabledelayedexpansion
- set "fileTable=tableresult.txt"
- set "fileString=string.txt"
- set "fileResult=result.txt"
-
- (for /f %%a in (%fileTable%) do (
- call :Get_Begin %%a
- echo ---------- %%a [Line: !lineBegin!] ----------
- if !lineBegin! gtr 0 (
- call :Fetch_Lines !lineBegin!
- )
- ))>%fileResult%
- goto :eof
-
- :Get_Begin
- REM 计算从哪一行开始
- for /f "tokens=1 delims=:" %%i in ('findstr /i /n "CREATE.*TABLE.*%1" %fileString%') do (
- set lineBegin=%%i
- )
- goto :eof
-
- :Fetch_Lines
- REM 获取需要的字符串
- for /f "skip=%1 delims=" %%i in (%fileString%) do (
- set str=%%i
- if "!str:PRIMARY KEY=!" neq "!str!" (
- goto :eof
- ) else (
- if "!str:* `=!" neq "%%i" (
- set str=`!str:* `=!
- )
- if "!str:`=!" neq "!str!" (
- if "!str:~0,1!" equ "`" (
- for /f "tokens=1 delims=`" %%j in ("!str!") do (
- echo %%j
- )
- )
- )
- )
- )
复制代码
|