![]() |
CMD скрипт, для чтения выходных значений BcdEdit
Всем доброго дня!
Уважемые специалисты посмотрите пожалуйста! Ну очень нужно! Мне необходим CMD скрипт, который читает выходные значения “bcdedit /enum” сравнивает значения Device и OSDevice и в случае неопределенного значения OSDevice в Windows Boot Loader (например после неудачного SysPrep) присваивает ему значение Device используя “bcdedit /set” Спасибо ! c:\pc>bcdedit Windows Boot Manager -------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume1 description Windows Boot Manager locale en-US inherit {globalsettings} default {current} resumeobject {91134a75-d82c-11e0-81c4-b5e2b548a783} displayorder {current} toolsdisplayorder {memdiag} timeout 30 Windows Boot Loader ------------------- identifier {current} device partition=C: path \Windows\system32\winload.exe description Windows 7 locale en-US inherit {bootloadersettings} recoverysequence {91134a77-d82c-11e0-81c4-b5e2b548a783} recoveryenabled Yes osdevice partition=C: systemroot \Windows resumeobject {91134a75-d82c-11e0-81c4-b5e2b548a783} nx OptIn |
Добрый день, уважаемые форумчане!
Посмотрите пожалуйста еще раз мою задачу, может кто-нибудь помочь? Надеюсь, вы сможете! Хорошего дня и прекрасного всем настроения! |
Пускаю пузыри!
Неужели никто не сможет помочь?! |
Если правильно понял:
Код:
@echo off |
Foreigner, большое спаибо за ответ!!!
А в каком месте он проверяет что значение osdevicе пусто? спасибо |
Действительно, по промежуточным результатам видно, как скрипт проверяет значение и заменяет его.
Единственное, не могу смодулировать физически такую ситуацию, что Osdevice неопределено. Но возник такой вопрос, можно ли строку Цитата:
if not bcdedit /set"%device%"=="%osdevice%" , т.е. чтобы присвоение значения делал не оператор FOR, а сама программа bcdedit? Если так нельзя, то каким образом можно вставить в параметры bcdedit значения device и еще в выводе команды bcdedit, к сожалению, дважды присутствует значение device, а нам необходимо проверить, то что в Windows Boot Loader благодарю премного. |
Цитата:
Код:
if not "%device%"=="%osdevice%" bcdedit /set ... Код:
if not defined osdevice bcdedit /set .... |
Доброе утро, Foreigner, !
Спасибо за подробные ответы! Хорошего дня! |
@echo off
chcp 866 set NLM=^ set NL=^^^%NLM%%NLM%^%NLM%%NLM% setlocal ::bcdedit for /f "tokens=1-10 delims= " %%a in (' bcdedit ^| findstr ".*" ') do ( if "%%a" == "Диспетчер" if "%%b" == "загрузки" echo %NL%Диспетчер загрузки Windows%NL%------------------- if "%%a" == "идентификатор" echo идентификатор: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "device" echo device= %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "path" echo path: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "description" echo description: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "locale" echo locale: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "inherit" echo inherit: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "default" echo default: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "resumeobject" echo resumeobject: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "toolsdisplayorder" echo toolsdisplayorder: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "timeout" echo timeout: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "Загрузка" if "%%b" == "Windows" echo %NL%Загрузка Windows%NL%------------------- if "%%a" == "recoveryenabled" echo recoveryenabled: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "isolatedcontext" echo isolatedcontext: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "allowedinmemorysettings" echo allowedinmemorysettings: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "osdevice" echo osdevice: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "systemroot" echo systemroot: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "nx" echo nx: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "bootmenupolicy" echo bootmenupolicy: %%b %%c %%d %%e %%f %%g %%h %%i %%j if "%%a" == "hypervisorlaunchtype" echo hypervisorlaunchtype: %%b %%c %%d %%e %%f %%g %%h %%i %%j ) pause |
Время: 02:27. |
Время: 02:27.
© OSzone.net 2001-