системная команда доступа к папкам с пробелами - PullRequest
0 голосов
/ 30 декабря 2018

В настоящее время я пытаюсь написать программу, которая требует доступа к файлам в папке OneDrive, которая будет использоваться несколькими компьютерами.В настоящее время возникает проблема, когда команда «system» выдает ошибку, когда я пытаюсь получить доступ к папке OneDrive, потому что в имени полного пути есть пробелы.

folder = '/Users/myuser/Desktop/OneDrive\ -\ -\ Company\ Name/foldername-AVL'
STR = sprintf('cd %s',folder);
system(STR)

Ошибка, которую я продолжаю получать,

/ bin / bash: строка 0: cd:% s / Users / myuser / Desktop / OneDrive: Нет такого файла или каталога

Таким образом, оно эффективно отключает всезаписи после второго пробела.Я просмотрел документацию и все, и я не могу найти решение или руководство по использованию системной команды в этой конкретной ситуации.

1 Ответ

0 голосов
/ 31 декабря 2018

Я предполагаю, что вы пытаетесь сбежать из космоса.В общем, я предпочитаю оборачивать все аргументы, в которых есть пробелы, двойными кавычками.Я бы догадался, что выход из пути тоже подойдет, но, возможно, нет ...

Это должно сработать ... и его намного легче читать (ИМХО).

folder = '"/Users/myuser/Desktop/OneDrive - - Company Name/foldername-AVL"'
STR = sprintf('cd %s',folder);
system(STR)

ИЛИ - переезд "в спринтф"

folder = '/Users/myuser/Desktop/OneDrive - - Company Name/foldername-AVL'
STR = sprintf('cd "%s"',folder);
system(STR)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...