使用csis中的c#在脚本任务中归档文件

时间:2015-04-30 07:46:08

标签: ssis

我想使用脚本task.filename将日期归档文件,如abc_x1.csv。一旦下一个文件像abc_x2.csv一样,文件将每月发送一次 需要在_.csv之后以任何名称归档文件,并在扩展名之前加上日期。我使用下面的代码,这是行不通的。任何人都可以帮助我。在每个循环容器中使用的脚本task.script任务中使用C#代码。

public void Main()
        {   String sDateSuffix = DateTime.Now.ToString("yyyyMMddhhmmss");

            String ArchiveDir = Dts.Variables["V_ArchiveDir"].Value.ToString();          
             String FileName = Dts.Variables["V_FileName"].Value.ToString()+sDateSuffix;
              File.Move(Dts.Variables["V_FilePath"].Value.ToString() +FileName, ArchiveDir + FileName);
            Dts.TaskResult = (int)ScriptResults.Success;
}

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您尝试将sDateSuffix附加到文件名但在.csv扩展名之前。如果是这样,我认为你只需要使用Path.GetFileNameWithoutExtension():

String sDateSuffix = DateTime.Now.ToString("yyyyMMddhhmmss");
String ArchiveDir = Dts.Variables["V_ArchiveDir"].Value.ToString();
String V_FileName = Dts.Variables["V_FileName"].Value.ToString();
//Assuming V_FileName = "abc_x1.csv", FileName will be "abc_x120150430080000.csv"
String FileName = Path.GetFileNameWithoutExtension(V_FileName) + sDateSuffix + Path.GetExtension(V_FileName);