2017-11-29 2 views
3

40 개 이상의 폴더가 포함 된 주 폴더가 하나 있습니다. 40 개의 폴더 중 22 개에 하위 폴더를 만드는 SSIS 패키지를 만들었습니다. 내 패키지에서 foreach 루프를 사용하여 내 스크립트의 이름과 날짜/타임 스탬프를 반환하는 22 개의 폴더 만 반복하여 루프를 만들려합니다.SSIS Foreach 루프를 사용하여 여러 폴더 반복

현재 40 개의 폴더를 모두 반복 할 수 있지만 특정 폴더를 타겟팅하는 방법에 대한 정보를 찾을 수 없었습니다.

참조 사항에 대한 제안 사항에 감사드립니다.

+0

초기 C# 스크립트를 사용하여 필요한 경로 목록을 생성하고 반복 할 루프의 로컬 데이터 집합에 결과를 저장하지 않는 이유는 무엇입니까? –

답변

1

당신은 스크립트 작업을 사용하여 특정 폴더의 목록을 생성 할 수 있습니다, 또는 당신은 단지 내 답변에 따라,이를 달성하기 위해 표현 작업과 각 루프의를 사용할 수 있습니다

스크립트 예 :

Public Sub Main() 
    Dim lstFiles As New Generic.List(Of String) 

    'Assuming that C:\Temp is the main folder 
    'And We want to include all subdirectories that contains "Report" word 

    For Each strDirectory As String In IO.Directory.GetDirectories("C:\Temp", "*.*", IO.SearchOption.TopDirectoryOnly) 

     If Not strDirectory.Contains("Report") Then Continue For 

     lstFiles.AddRange(IO.Directory.GetFiles(strDirectory, "*.*", IO.SearchOption.TopDirectoryOnly) 

Next 


    Dts.Variables.Item("FilesList").Value = lstFiles 

    Dts.TaskResult = ScriptResults.Success 
End Sub 
+0

특정 하위 폴더 포함에 대한 유사한 참조는 무엇입니까? –

+0

@DavidF 원하는 방법은 무엇입니까? 스크립트 작업 또는 표현 작업? – Hadi

+0

첫 번째 링크에서 @DavidF, 스크립트 작업 메서드에서 Linq를 사용하여 List에서 파일을 필터링했습니다. 그냥 조건을 바꿉니다. 그것은 같은 방식입니다. 그냥 답을 읽고 그걸 – Hadi

관련 문제