In a free ESXi version, one can use the CLI to move VMs from one datastore to aother.
First check on which datastore your VM resides. Let's say it's the PCLinuxOS VM.
The VM is located on this datastore:
/vmfs/volumes/LOCAL_DRIVE/pclinuxos
I want to move it from LOCAL_DRIVE to thinlun.
~ # df Filesystem Bytes Used Available Use% Mounted on VMFS-5 2000112582656 947863420928 1052249161728 47% /vmfs/volumes/LOCAL_DRIVE VMFS-5 250718715904 111992111104 138726604800 45% /vmfs/volumes/datastore1 VMFS-5 2198754820096 50019172352 2148735647744 2% /vmfs/volumes/thinlun VMFS-5 2198754820096 3220176896 2195534643200 0% /vmfs/volumes/thicklun vfat 4293591040 31391744 4262199296 1% /vmfs/volumes/553a44c8-786ee042-fc48-001e6745c659 vfat 261853184 165023744 96829440 63% /vmfs/volumes/759c3174-ce030377-9a1b-6d92b0825c53 vfat 261853184 8192 261844992 0% /vmfs/volumes/9f31c873-8e055259-44a8-1b74b787e284 vfat 299712512 202776576 96935936 68% /vmfs/volumes/553a44bd-bd86678e-2832-001e6745c659
~ # mv /vmfs/volumes/LOCAL_DRIVE/pclinuxos /vmfs/volumes/thinlun/
2. When this operation is complete, remove the VM from inventory using the vShpere client:
Right click on the VM, "remove from inventory"
3. Edit the vmx file to reflect the VMs location has changed:
~ # cd /vmfs/volumes/thinlun/pclinuxos//vmfs/volumes/56d0f011-96144ad8-9d8c-001e6745c659/pclinuxos # vi pclinuxos.vmx
Look for the entry containing the old datastore's location.
sched.swap.derivedName = "/vmfs/volumes/56d0f011-96144ad8-9d8c-001e6745c659/pclinuxos/pclinuxos-4eff615b.vswp"
Edit this entry to reflect the new datastore ID.
4. Register the VM and power on.
Go to the vSphere client and browse the VMs folder in the new datastore, right click on the vmx file and add to inventory.
After this step, you can power on the VM.