Just a single switch is not enough. Actually, two switches is not enough. You need a memory element, such as a relay, plus a switch at each end of your weight travel.
The following will do what you need. It consists of a relay (double pole, double throw), two limit switches (one normally open, the other normally closed), and a diode.
simulate this circuit – Schematic created using CircuitLab
The vertical travel of the weight is shown on the left, along with a protruding arm which will contact SW2 at the bottom of its travel, and SW1 at the top. The motor is wired so that with 6 volts on its + lead, the weight rises.
Start by assuming the relay is off. The two sets of contacts are active on the right, so +6 is applied to the - motor lead and the weight is descending. Because the motor + lead is at ground, there is no voltage applied to the diode.
Now let the arm on the weight activate SW2. +6 volts flows through SW2 and SW1 and applies power to the relay. Now the contacts to the left are active and two things happen. First, +6 is applied to the motor + lead, and the weight starts rising. Two, +6 volts flows through the diode, and also tries to drive the relay. So when the weight starts to rise and the arm no longer closes SW2, the relay is still driven and the motor continues to drive the motor to raise the weight.
This continues until the arm contacts SW1 and opens the relay circuit. With no power to the relay, the contacts shift to the right and the motor reverses direction. The weight starts down. Since the motor + lead is now connected to ground, there is no voltage on the diode, so when the weight drops and SW1 closes again, there is still no drive for the relay coil.
The cycle will continue as long as the battery holds out.
Speaking of which, I really recommend either much bigger batteries or a power supply you can plug into a wall. I believe you'll find that you drain AA cells much faster than you think.
A car window motor is surprisingly beefy for its size : that means it takes quite a lot of current. Which is OK because it never runs long enough to overheat.
Measure the DC resistance of the motor. (Several times, turning the shaft, choose the lowest reading).
Divide 12V by that, to get the motor's stall current, and edit that into the question. I'm guessing something like 6 to 10 Amps...
As your motor is stalled, it needs that much current to move, which your bridge is not supplying.
Replace your H-bridge and power supply with ones that can supply at least that stall current, and try again.
Best Answer
You can use an IC 555 timer to control motor as H-bridge, please see here. Be careful about current required by your motor because the circuit does not use any transistor as drivers. An IC 555 output can source or sink 200 mA.
The better solution is connecting DC-motor H-bridge circuit to the output of 555 or microcontroller for a more flexible solution.