tools/mpremote: Fix "fs cp -r" on Windows.

A backslash in the directory name will end up being passed through to the
device and becoming a backslash in a filename, rather than being
interpreted as directories.  This makes "cp -r" problematic on Windows.
Changing to simply "/",join() fixes this.
pull/8239/head
Andrew Leech 2022-02-01 10:52:55 +11:00 zatwierdzone przez Damien George
rodzic a7530cbc03
commit 1f84440538
1 zmienionych plików z 2 dodań i 2 usunięć

Wyświetl plik

@ -268,7 +268,7 @@ def do_filesystem(pyb, args):
def _list_recursive(files, path):
if os.path.isdir(path):
for entry in os.listdir(path):
_list_recursive(files, os.path.join(path, entry))
_list_recursive(files, "/".join((path, entry)))
else:
files.append(os.path.split(path))
@ -289,7 +289,7 @@ def do_filesystem(pyb, args):
if d not in known_dirs:
pyb.exec_("try:\n uos.mkdir('%s')\nexcept OSError as e:\n print(e)" % d)
known_dirs.add(d)
pyboard.filesystem_command(pyb, ["cp", os.path.join(dir, file), ":" + dir + "/"])
pyboard.filesystem_command(pyb, ["cp", "/".join((dir, file)), ":" + dir + "/"])
else:
pyboard.filesystem_command(pyb, args)
args.clear()