Дабы не создавать новую, аналогичную тему этой и
этой
Столкнулся с проблемой использования bcdedit в bat файле, а именно
Цитата:
"bcdedit" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
(errorlevel=9009)
|
Если запустить cmd через "Выполнить", то bcdedit отрабатывает нормально.
Но если в батнике, или запустив cmd где-то в другом месте - ругается.
(Использовал метод повышение прав до админских скриптом)
Код:
![Выделить весь код](images/misc/selectcode.png)
@echo off
ver |>NUL find /v "5." && if "%~1"=="" (
Echo CreateObject^("Shell.Application"^).ShellExecute WScript.Arguments^(0^),"1","","runas",1 >"%~dp0Elevating.vbs"
cscript.exe //nologo "%~dp0Elevating.vbs" "%~f0"& goto :eof
)
:: Код...
Ещё смущает расположение (скрины по ссылкам)
Для своей задачи использовал костыль
такого вида
Код:
![Выделить весь код](images/misc/selectcode.png)
::...
set bcdedit=bcdedit
::...
:install
::...
%bcdedit%
if %errorlevel% gtr 0 goto findbcdedit
::...
:findbcdedit
for /f "tokens=*" %%a in (
'Dir /b/s/a-d %windir%\bcdedit.exe'
) do Set bcdedit="%%a"
goto install
::...
Но хотелось бы понять где и что именно делаю не правильно указав в bat файле явную команду bcdedit.