gpt4 book ai didi

sql - SSIS - 脚本任务检查子文件夹是否存在

转载 作者:行者123 更新时间:2023-12-04 03:20:20 25 4
gpt4 key购买 nike

我想检查子文件夹是否存在。如果存在,请继续。如果不存在,则转到下一个任务。

我的子文件夹是 "C:\Folder1\Folder2\Folder3"我想检查 Folder3 是否存在。

我致力于它。创建 2 个变量

1> FolderPath = C:\Folder1\Folder2

2> FolderExists = Boolean = False

脚本任务
ReadOnlyVariable = @FolderPAth
ReadWriteVariable = @FolderExists

以下脚本我在编辑脚本中添加

    Dim DirExists As String

DirExists = Dir(CStr(Dts.Variables("Folder3").Value))

If DirExists <> "" Then

Dts.Variables("Folder3").Value = True

Else

Dts.Variables("Folder3").Value = False

End If

有人可以纠正我吗。

最佳答案

根据您的评论,您似乎并不关心它是否是 VB 的 c#,因此这里从头到尾介绍了如何测试文件夹的存在性并以受限优先级使用它的步骤。

  • 定义 2 个包级别变量:Fo​​lderPath 字符串、FolderExists bool 值
    enter image description here
  • 添加脚本任务并为 C# 配置并将 FolderPath 添加为 ReadOnlyVariable 和 FolderExists 作为 ReadWriteVariable
    enter image description here
  • 单击编辑以编辑脚本
  • 滚动到顶部附近的“#region Namespaces”并添加 using System.IO; enter image description here
  • 滚动到 Main() 子的定义并在下面的“TODO”之后添加第一行,使例程变为:
    public void Main()
    {
    // TODO: Add your code here
    Dts.Variables["User::FolderExists"].Value = Directory.Exists(Dts.Variables["User::FolderPath"].Value.ToString());

    Dts.TaskResult = (int)ScriptResults.Success;
    }
  • 脚本任务已完成,您现在应该能够使用 FolderExists 变量作为约束优先级的表达式。
  • 在包中添加您的下一步并使用绿色成功箭头连接,然后双击箭头并设置约束选项以评估表达式和约束,并将表达式简单地作为 FolderExists 变量。
    enter image description here

  • 该解决方案已经过全面测试并且可以运行

    关于sql - SSIS - 脚本任务检查子文件夹是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38838273/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com