If you want to test it first, remove the 'mv' command:
for x in *;do echo ${x%*.*};done
Should list the files with the extension removed. If not, then previous command my require some tweaking. Google "bash shell scripting parameter substitution" for additional help. Good luck.
There's no need for the echo command substitution and the first asterisk in your parameter substitution is meaningless since it's a shortest match (% instead of %%). Also, the filenames in question have spaces (perhaps that info was added after you had read the post), so the expansions need to be double quoted to protect them from field splitting.
A slightly simpler version of your approach:
for x in *; do
mv "$x" "${x%.*}"
done
---------- Post updated at 04:43 PM ---------- Previous update was at 04:40 PM ----------
If it's possible that striping the file extension from file1 can match an existing file, file2, and if you don't want file2 clobbered, you'll want to test for the existence of file2 before doing the mv.