SSIS 执行bat脚本的疑问

0
需要实现的目的:
1、将多个目录下的zip文件解压缩,每个zip文件包含多个txt文件;
2、由于每个目录解压缩出来的txt文件带了年月日这样的后缀,需要重命名成固定的名字;

我的实现方法:
通过调用7zip命令,写成bat脚本,将zip文件所在目录和要解压缩到的目录(实际是同一个目录)作为参数传给bat:

if exist %1\[i].zip ("D:\Program Files\7-Zip\7z.exe" e %1\[/i].zip -o%1 -aoa)

这个脚本在cmd执行是可以的,但是在SSIS中通过进程任务调用这个bat就不行,报错,原因貌似是进程任务调用的bat里不支持有多个%这样的参数,即使参数是同一个;
后来又通过SSIS的脚本任务执行这个bat,这样是可以的,但是问题又来了:
SSIS脚本任务只管执行bat,不管是否执行完成就跑到下一步去了,而我的下一步是重命名这些文件,这就导致上一步的解压缩还没完成,下一步的重命名就开始,这样就出问题了。

各位高手给看看这样的需求有什么好的解决方案?还是我的调用方法不对?
已邀请:
0

梁勇 - 天道酬勤、上善若水。爱好商业智能 2013-11-13 回答

SSIS这种方案没弄过,可以通过程序去控制及修改,写一个CS程序,判断控制即可。
SSIS里面有一个脚本任务,也是可以写 C#代码的,按说也可以实现。

要回复问题请先登录注册