如何从ssis中的多个文件夹中删除旧的csv文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从ssis中的多个文件夹中删除旧的csv文件相关的知识,希望对你有一定的参考价值。

我正在开发一个项目,我需要在ssis中使用for-each循环容器从多个分支文件夹中删除旧的.csv文件?任何人都可以指导我。顺便说一句,我是ssis世界的新手,所以一个例子和截图确实对我很有帮助。

孩子问候,到

答案

使用脚本任务并写如下:

这将删除文件夹和子文件夹中的所有文件

C#代码

using System.IO;

string[] filePaths = Directory.GetFiles(@"c:MyDir","*.csv",System.IO.SearchOption.AllDirectories);
foreach (string filePath in filePaths)
  File.Delete(filePath);

使用脚本任务enter image description here创建一个SSIS包

输入如图所示的代码

请记住更改特定文件夹的路径

enter image description here

另一答案

有两种方法可以达到这个目的:

Using File System Task

只需添加一个Foreach循环,并选择包含csv的目录,在foreach循环容器中添加一个删除这些文件的File System Task。您可以阅读这些详细的文章以获取更多信息:Delete files from specified folder using File System Task in SQL Server - SSIS

Using a Script Task

只需添加一个脚本任务,并选择脚本语言作为Visual Basic,并编写以下代码:

Public Sub Main()

    Dim strFiles as String() = Io.Directory.GetFiles("C:MyDirectory","*.csv",IO.SearchOption.AllDirectories)

    For each strFile as String in strFiles
        IO.File.Delete(strFile)
    Next

    Dts.TaskResult = ScriptResults.Success

End Sub

以上是关于如何从ssis中的多个文件夹中删除旧的csv文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 SSIS 从网站 (URL) 读取多个 CSV 文件?

如何将多个文件扩展名添加到文件:Foreach 循环容器 SSIS 中的输入字段

如何在 ssis 中处理之前检查 csv 文件中的文件结尾

如何在 SSIS 包中使用变量和 SQL 代码?

删除同一目录中多个CSV文件中的前两列和最后一列

如何使用 SSIS 将 File1 标头中的单个值与 File2 中的总行数进行比较(csv)