SSIS脚本任务中使用FileInfo复制文件时修改日期未更新的问题
SSIS脚本任务文件复制时间戳异常问题
正常运行场景
- 源文件为新文件,目标目录无同名文件;
- 源、目标目录存在同名文件,但内容不同。
异常场景
当源、目标目录的文件名称、内容、大小均相同,仅源文件时间戳更新时,执行脚本后代码返回成功,但目标文件的修改日期未同步更新。无法确认是以下哪种情况导致:
- 系统检测到内容相同,跳过了覆盖操作;
- 执行了覆盖,但因内容完全一致,保留了目标文件原时间戳。
关键现象
仅当文件内容完全相同时才会触发该异常:若文件大小相同但内容有细微修改,覆盖操作会正常完成,目标文件的修改日期会同步为源文件的时间。
脚本任务核心代码
DirectoryInfo dSource = new DirectoryInfo(strSource); foreach (FileInfo fi in dSource.GetFiles()) { if (fi.Name.Contains(strFile) && fi.Name.EndsWith(strExtn)) { fi.CopyTo(strDest + fi.Name, true); } }
注:原代码中if语句存在语法错误(缺少闭合括号),已修正。
疑问
该问题仅在特定系统出现,另一台系统无法复现,是否与Windows系统设置有关?
内容的提问来源于stack exchange,提问作者nyrrovro
相关产品推荐
相关产品推荐

