SSIS中如何修改批处理代码实现合并后重命名结果文件?
解决SSIS中合并文件并重命名的问题
嘿,这个需求很容易实现,有两种直接的方案供你选择:
方案一:直接合并到目标命名的文件
不需要先生成result.txt再改名,直接修改copy命令的输出文件名即可,一步完成合并与命名,效率更高。
修改后的命令如下:
/C copy /B "\filepath\header.txt" + "\filepath\content.txt" "\filepath\result_09102019.txt"
小贴士:如果你的文件路径包含空格,一定要给每个文件路径加上双引号,避免CMD解析命令出错。
方案二:先合并再重命名
如果因为某些业务逻辑必须先生成result.txt,再将其重命名为目标文件名,可以用&&连接两个命令——第一个执行合并,成功后再执行重命名操作。
修改后的命令如下:
/C "copy /B "\filepath\header.txt" + "\filepath\content.txt" "\filepath\result.txt" && ren "\filepath\result.txt" result_09102019.txt"
这里要注意:整个复合命令需要用外层双引号括起来,否则CMD无法正确识别两个连续的命令。
额外扩展:动态生成日期文件名(可选)
如果你的需求不是固定日期,而是每天自动生成对应日期的文件名(比如result_当天日期.txt),可以利用批处理的日期变量动态生成文件名。例如要得到ddmmyyyy格式的日期,命令可以写成:
/C "set dt=%date:~0,2%%date:~3,2%%date:~6,4% && copy /B "\filepath\header.txt" + "\filepath\content.txt" "\filepath\result_%dt%.txt""
注意:不同Windows系统的
%date%输出格式可能不同(比如有些是yyyy-mm-dd),你可以先在CMD中执行echo %date%查看当前格式,再调整子串截取的索引位置。
内容的提问来源于stack exchange,提问作者ikilledbill
相关产品推荐
相关产品推荐

