我有一个 ssis 包,它创建了 7 个 .dat 文件。每个文件都需要压缩为一个 zip 文件,扩展名为 Filename.zip。它不能是 Filename.dat.zip。创建 .dat 文件的第一步是使用此表达式,该表达式在名为“FileDest”的变量中包含文件路径,然后添加带有 YYYYQQ 日期时间和扩展名的文件名。SourceDate 变量用于计算 YYYYQQ。
@[User::FileDest]+ "Filename_"+(DT_WSTR,4) YEAR( @[User::SourceDate] ) +"Q" + RIGHT("00" + (DT_WSTR,1) DATEPART("QQ", @[User::SourceDate] ),1 ) + "_"+ (DT_WSTR,4)DATEPART("yyyy",GetDate()) +
RIGHT("0" + (DT_WSTR,2)DATEPART("mm",GetDate()) ,2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("dd",GetDate()),2) + "_" +
RIGHT("0" + (DT_WSTR,2)DATEPART("hh",GetDate()),2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("mi",GetDate()),2) +
RIGHT("0" + (DT_WSTR,2)DATEPART("ss",GetDate()),2) +".dat"
然后 ForEachLoop 容器将文件名捕获到变量中并压缩每个文件。filename 变量包含名称和扩展名。如果我只命名,则不会找到不包含扩展名的文件。
保存 zip 文件的表达式是 @[User::FileDest] + @[User::Filename] + ".zip"。这会生成一个文件名为 .dat.zip 的文件,但我无法使用它。如何删除 '.dat'?