2016-08-19 3 views
3

ファイルから特定のコンテンツを除外します。例えば 私のサンプルコード:この中ファイル内のセクションのみを読み取る

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書を必要としています。出力は次のようになります。

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

関連する問題