• I've used both Script Tasks and File System Components to perform file manipulation but try to use native SSIS components to perform an operation when available meaning I tend towards the File System Task unless there's specific reason not to.

    Because the Script tasks are basically just wrappers for C#/VB .net code you could effectively write a whole application to perform any operation all the way down to a full GUI if desired, but that's not really what it was intended for. The script task is very powerful but it obfuscates the tasks that it performs by removing the logic from SSIS and placing it in a different environment. It's more a personal preference than anything but I just like being able to follow the logic in a package without having to open up a script task, open the script in a separate Visual Studio code window, look at which DLLs were loaded to perform specialized operations, try to figure out which variables are passed back and forth etc.

    Regarding the loading of multiple files of the same format one thing that has been very handy in certain circumstances is the Multiple Flat File connection manager. You can use the same kind of wildcard matching that you'd use in a for each file loop and treat any number of like-formatted txt files as a single file. It's especially handy if your data flows include lookups or other operations that have to occur every time the data flow is loaded since they will only occur once as opposed to every iteration of the outside loop. Not a solution in all cases since you wouldn't be able to do file-by-file archiving as easily but useful nonetheless.

    Kris