Вывод файла bcdedit не работает, но другие команды работаютC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Вывод файла bcdedit не работает, но другие команды работают

Сообщение Anonymous »

У меня очень странная проблема с выполнением командной строки. Код ниже работает без проблем:

Код: Выделить всё

ShellExecute(NULL, "open", "cmd.exe", "/C ipconfig > file_output.txt", NULL, SW_SHOWNORMAL);
При выполнении вывод ipconfig записывается в файл file_output.txt», а это именно то, что мне нужно. Однако когда я использую bcdedit:

Код: Выделить всё

ShellExecute(NULL, "open", "cmd.exe", "/C bcdedit > file_output.txt", NULL, SW_SHOWNORMAL);
Файл создан, но в нем ничего нет. Я могу выполнить ту же команду в cmd.exe от имени администратора, и она работает. Я тоже пробовал:

Код: Выделить всё

ShellExecute(NULL, "open", "cmd.exe", "/C bcdedit /enum all > file_output.txt", NULL, SW_SHOWNORMAL);
С bcdedit ничего не работает. Ошибок нет. Вот еще несколько методов, которые я пробовал:

[*]Вместо этого используйте CreateProcess.
[*]Вместо этого используйте систему.
Установка каталога C:\Windows\System32
[*]Установка каталога C:\Windows\SysWOW64\
< /ol>
Опять же, выполнение той же команды в cmd.exe работает, но, похоже, она не работает в моем коде. Я искал весь день и не могу найти что-то, что работает. Есть идеи?

Изменить: после дальнейшей отладки я вижу следующее с помощью команды.

'bcdedit' не распознается как внутренняя или внешняя команда, исполняемая программа или пакетный файл.
'C:\Windows\System32\bcdedit.exe' - это не распознается как внутренняя или внешняя команда, исполняемая программа или командный файл.

Я попробовал все 4 метода, перечисленных выше, еще раз и видимо, его до сих пор нельзя признать командой. **bcdedit.exe действительно существует в C:\Windows\System32**.

Подробнее здесь: https://stackoverflow.com/questions/508 ... ommands-do
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»