Renaming files with Spaces in Filenames

Entry level scripter. Any help appreciated.

for file in *; do rename '4321_' '' $file ; done

Doesn't work for files with spaces in between
FOr eg

4321_1004.dat is renamed to 1004.dat

but

4321_1004 2008.dat

stays the same

Hi, try:

for file in 4321_*; do rename '4321_' '' "$file" ; done

or

rename 4321_ "" 4321_*

or

for file in 4321_*; do mv -- "$file" "${file#4321_}" ; done