SSIS 脚本任务检查文件夹是否为空
SSIS Script Task Check if a folder is empty
在 SSIS 脚本任务中,我使用以下代码检查文件夹是否为空。然后我想将它是否传递到变量 'Dim_File_Count' 中,如果成功则使用优先约束进入下一个任务。但是我的代码一直指出该文件夹是空的,即使它不是:
public void Main()
{
//string FolderName = Dts.Variables["User::Tech_Dim"].Value.ToString();
if (File.Exists(Dts.Variables["User::Tech_Dim"].Value.ToString())==false)
{
Dts.Variables["User::Dim_File_Count"].Value = 0;
MessageBox.Show("folder empty");
}
else
{
Dts.Variables["User::Dim_File_Count"].Value = 1;
MessageBox.Show("folder is not empty");
}
Dts.TaskResult = (int)ScriptResults.Success;
}
可以使用Directory
class的GetFiles
方法的Length
属性查看指定文件夹中是否有文件.如果需要搜索子目录,可以使用 GetFiles
的可选第三个 SearchOption
参数,即 SearchOption.AllDirectories
,默认只检查父文件夹。
if (Directory.GetFiles(Dts.Variables["User::Tech_Dim"].Value.ToString(), "*").Length > 0)
{
Dts.Variables["User::Dim_File_Count"].Value = 0;
MessageBox.Show("folder empty");
}
else
{
Dts.Variables["User::Dim_File_Count"].Value = 1;
MessageBox.Show("folder is not empty");
}
在 SSIS 脚本任务中,我使用以下代码检查文件夹是否为空。然后我想将它是否传递到变量 'Dim_File_Count' 中,如果成功则使用优先约束进入下一个任务。但是我的代码一直指出该文件夹是空的,即使它不是:
public void Main()
{
//string FolderName = Dts.Variables["User::Tech_Dim"].Value.ToString();
if (File.Exists(Dts.Variables["User::Tech_Dim"].Value.ToString())==false)
{
Dts.Variables["User::Dim_File_Count"].Value = 0;
MessageBox.Show("folder empty");
}
else
{
Dts.Variables["User::Dim_File_Count"].Value = 1;
MessageBox.Show("folder is not empty");
}
Dts.TaskResult = (int)ScriptResults.Success;
}
可以使用Directory
class的GetFiles
方法的Length
属性查看指定文件夹中是否有文件.如果需要搜索子目录,可以使用 GetFiles
的可选第三个 SearchOption
参数,即 SearchOption.AllDirectories
,默认只检查父文件夹。
if (Directory.GetFiles(Dts.Variables["User::Tech_Dim"].Value.ToString(), "*").Length > 0)
{
Dts.Variables["User::Dim_File_Count"].Value = 0;
MessageBox.Show("folder empty");
}
else
{
Dts.Variables["User::Dim_File_Count"].Value = 1;
MessageBox.Show("folder is not empty");
}