diff --git a/src/calibre/gui2/save.py b/src/calibre/gui2/save.py index 1958a500ff..44a47cee64 100644 --- a/src/calibre/gui2/save.py +++ b/src/calibre/gui2/save.py @@ -212,11 +212,14 @@ class Saver(QObject): if not fmts and not self.opts.write_opf and not self.opts.save_cover: return - try: - os.makedirs(base_dir) - except EnvironmentError as err: - if err.errno != errno.EEXIST: - raise + # On windows python incorrectly raises an access denied exception + # when trying to create the root of a drive, like C:\ + if os.path.dirname(base_dir) != base_dir: + try: + os.makedirs(base_dir) + except EnvironmentError as err: + if err.errno != errno.EEXIST: + raise if self.opts.update_metadata: d = {}