使用SSIS Foreach循环循环多个文件夹

时间:2017-11-29 18:06:17

标签: sql-server ssis etl sql-server-data-tools foreach-loop-container

我有一个主文件夹,其中包含40多个文件夹。我创建了一个SSIS包,在40个文件夹中的22个中创建子文件夹。我想在我的包中使用Foreach循环来遍历我脚本的22个文件夹,以返回创建的新子文件夹的名称和日期/时间戳。

我目前可以遍历所有40个文件夹,但是我无法找到有关如何定位特定文件夹的信息。

对参考文献的任何建议表示赞赏。

1 个答案:

答案 0 :(得分:1)

您可以使用脚本任务生成特定文件夹的列表,或者您可以使用带有表达式任务的for each循环来实现此目的,只需按照我的回答:

脚本示例:

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