我想使用脚本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;
}
答案 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);