You'll want to use Retayne. It will set in the dyes.
I had 20 green batiks that I set. You can put a bunch of fabrics into one Retayne bath, but I didn't want to risk the batiks bleeding into each other (some excess dye will shed...that's normal) and setting into each other. I know its possible because one of the fabrics I did bled a lot and the selvage went from white to green. So to be extra safe I did them separately. Its a little bit more work, but I think its worth it if it means knowing for sure I'm not going to ruin my fabrics.
I had four separate containers to keep the fabrics in. I usually had the same amount of yardage in each bowl (like a quarter yard in each bowl). I figured out how much water was needed to completely cover the fabric in each bowl and then boiled that much water to 140F degrees. The water has to be HOT for the Retayne to work. Then the Retayne went in...its 1 tsp per yard of fabric. I usually had a quarter yard in each bowl---equaling one whole yard---so I put in 1 tsp. Then the water got poured into the bowls, barely covering the fabric. Let sit for 20 minutes, stirring occassionally. Once 20 minutes passed I rinsed the fabrics in cold water, squeezed the excess water, and hung them up to dry. I had a lot of fabrics that were less than a yard so I set more fabrics until I had enough for a decent load of laundry. When they were dry I separated them (lights/darks/similar colors) and washed them normally...I typically wash mine cold anyways, but the bottle says do not wash hot. I do throw in a Shout Color Catcher just in case I didn't rinse my fabrics out good enough, but if you did it right then the color catcher will come out white.