Eliminating downtime completely is difficult and usually undesirable - you don't want to impersonate your old server for eternity, so the users should start using the new name some time - you have to choose if they should manually switch, you'll script the changes for them etc. Since it's a different and complicated subject, let me know if you want me to write up on it.
You need to migrate two parts - the CIFS share definitions and the actual files.
Migrating the share definitions is usually easy - they're represented as registry entries.
This KB article shows you how to do it, and since it applies to versions 2003 and 2008r2, I'll think the structure is similar enough. Just back up everything beforehand, and make sure the keys do look similar on both servers.
After modifying the registry, either reboot the server or restart the "server" service (a.k.a lanmanserver).
Migrating the files is messier, but still doable. I use robocopy, because you can use the
/mir switch to make the destination directory look like the original.
I run this command over and over (and measure the time taken for each run) until most of the files have been migrated (every time the run only copies the modified files, meaning it takes less).
When I see the robocopy run takes a reasonable amount of time (e.g. 30 mins for a gigantic directory, because merely going over all files takes a long time), I take the old server share down (for user access), run it one last time, and then take the new server share up (again, for user access). That way no user data is being "forgotten" on the old server, and no data on the new server is being overwritten by the migration.
You can customize robocopy to preserve permissions, access times etc.