You need to use Unicode to access file names that are not part of the ACP (ANSI) code page of the Windows system you are working on. To do this, make sure you name the directories as Unicode:
import shutil
files = os.listdir(u"C:\\")
for efile in files:
shutil.copy(efile, u"D:\\")
Passing a Unicode string into os.listdirwill cause it to return results as Unicode strings, rather than encode them.
, os.listdir , , , - :
shutil.copy(u"C:\\" + efile, u"D:\\")
. http://docs.python.org/howto/unicode.html#unicode-filenames.