2016-08-19 3 views
3

내 파일에서 특정 콘텐츠를 제외하고 싶습니다. 예를 내 샘플 코드의 경우 : CREATE TABLE #를 이동하지 때까지이에서파일 내의 섹션 만 읽음

GO 
CREATE TABLE [dbo].[Employee] (
[EmployeeID] INT NULL, 
[Name] VARCHAR (50) NULL 
); 


GO 
CREATE TABLE #tempAP_Data_new  (                
planeID INT , 
APNM INT, 
) 

DECLARE    
@APNM [VARCHAR] (100) , 
@MajorModel [VARCHAR] (100) , 
@MinorModel [VARCHAR] (100) , 

CREATE TABLE #tempnew_Data(                 
planeNum INT , 
APNMID INT, 
) 
GO 

난 단지 CREATE TABLE 정책을해야합니다. 출력은 다음과 같아야합니다

CREATE TABLE [dbo].[Employee] (
[EmployeeID] INT NULL, 
[Name] VARCHAR(50)NULL 
); 

내 코드가 있었다 : 당신이

Get-Content $path\$deltaFile -Head 5 

그렇지 않으면 : 명령문이 처음 5 개 라인 내에서 항상

$searchCreateTable = "CREATE TABLE" 
$alterTable = (Get-Content $path\$deltaFile -Delimiter 'GO') -match "(?m)^$searchCreateTable*" 

답변

2

경우, -Head 매개 변수를 사용할 수 있습니다 파일을 분할 할 수 있습니다.

(Get-Content $path\$deltaFile -raw) -split 'Go' | select -Index 1 
+0

create 문이 항상 정확한 위치에있는 것은 아닙니다. 실제로 델타 파일 – avk

+0

이 논리는 실제로 인덱스 2에있을 수 없으므로 실제로는 작동하지 않습니다 – avk

관련 문제