словарь — Как использовать только что подключенный диск в сети? (C ++)

Я пишу код на C ++, который будет отображаться на ближайший доступный диск, используя «net use * \ server … etc», и после этого я хочу открыть на нем файл.

Есть ли команда, которая позволит мне взаимодействовать с этим новым диском без необходимости заранее знать, на каком диске он был сопоставлен? (Обычно это будет диск Z :, но не всегда!)

Более понятный пример:

 system("net use * \\server\folder\ p455word /user:server\user /p:no")

(output: "Server succesfully mapped to drive Z:")

Тогда я обычно пытаюсь открыть файл:

system("Z:\\folder\mydoc.docx")

Мой вопрос о том, как это сделать:

system("*\\\folder\mydoc.docx")

Если * — то, что диск выбрал для подключения к компьютеру, или если есть обходной путь к этому. Спасибо!

-4

Решение

Если вы ищете net use-специфическая магия здесь, вы будете разочарованы. Ваша программа просто передает текстовую строку в оболочку Windows и не имеет сведений или сведений о выполненной вами команде. Он, конечно, не может извлечь информацию о состоянии о результате этого вызова, кроме чтения текстового вывода команды.

К счастью, текстовый вывод — это все, что вам нужно — ваша цитата показывает, что назначенная буква диска тут же. Вам просто нужно вытащить его, а затем построить последующий system динамические вызовы путем создания строки из уже известной буквы диска и фиксированной части вашего пути.

system хотя на самом деле не предназначен для всего этого. Вот как выполнить команду и получить ее вывод. Извлечение буквы диска из строки "Server succesfully mapped to drive Z:" также будет отдельный вопрос. В общем, когда у вас есть проблема, разбейте ее на составные части; тогда вы сможете «найти это» с успехом.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector