WinPE, Startnet.CMD и передача переменных во второй пакетный файл не работают

Я не знаю сценариев или PowerShell (да, мне нужно что-то узнать). Я тоже не эксперт по созданию пакетных файлов.

у меня есть флэш-накопитель WinPE, который я использовал для развертывания образов ОС. У меня есть WIM, драйверы и все необходимое вне среды WinPE, чтобы гарантировать, что
Обновления, изменения легче для меня, чтобы сделать.

Я использую " STARTNET.CMD " пакетный файл, который является частью WinPE.

причина, чтобы пройти через буквы дисков является то, что WinPE всегда получает букву X диск назначен. Флэш-накопитель сам может получить случайное письмо, которое всегда меняется.

мое меню развертывания находится на флэш-накопителе, а не внутри WinPE. Это так, что если мне нужно что-то изменить, мне не нужно переделывать WinPE.

Я могу найти меню".bat " пакетный файл и запустить его.
Я использую переменную для записи буквенного диска.
Я называю второй пакетный файл "меню.bat " и передать переменную в она.

когда загружается второй пакетный файл, я считаю, что правильно вызываю переменную. Если я выхожу из пакетного файла, я могу повторить переменную и увидеть ожидаемый ответ.
Проблема в том, что я не могу использовать переменную для работы с чем-либо во втором пакетном файле.
В моем тесте, я могу заставить это работать снова и снова.
Когда он работает от реального USB флэш-накопитель не работает.
Я удалил комментарии из второго пакетного файла, чтобы сделать его меньше.

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

Diskpart
Imagex.exe
bcdboot.exe

почему я не могу заставить varible правильно функционировать, когда я пытаюсь использовать пример " ImageX.exe"?

содержимое Startnet.cmd

@echo off
for %%p in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if exist %%p:Tools set w=%%p
Set execpatch=%w%Tools
call %w%:Menu.bat Tools

содержание меню.Летучая мышь

@echo off
set SecondPath=%1
cls
:Start
cls
Echo.
Echo.==============================================================
Echo. Windows 7 64 Bit Ent Basic Desktops
Echo.==============================================================
Echo.
Echo A. 790 Windows 7 - Basic
Echo.
Echo.
Echo I. Exit
Echo.
Echo.

set /p choice=Choose your option = 

if not '%choice%'=='' set choice=%choice:~0,1%

if '%choice%'=='a' goto 790_Windows_7_Basic

echo "%choice%" is not a valid (answer/command)
echo.

goto start
:790_Windows_7_Basic

REM DISKPART /s %SecondPath%BatchFilesMake-Partition.txt

%SecondPath%imagex.exe /apply %SecondPath%ImagesWin7-64b-Ent-Basic-SysPreped.wim 1 o: /verify

%SecondPath%bcdboot.exe o:Windows /s S:

Copy %SecondPath%Unattendedunattend.XML o:WindowsSystem32sysprepunattend.XML /y

xcopy %SecondPath%Drivers0*.* o:WindowsINF0 /E /Q /Y

MD o:WindowsSetupScripts
Copy %SecondPath%BatchFilesSetupComplete.cmd o:WindowsSetupScripts /y

Goto Done

:Done
Exit
30
задан slhck
22.05.2023 4:01 Количество просмотров материала 3114
Распечатать страницу

3 ответа

судя по всему, последняя строка в вашем startnet.cmd файл должен быть

call %w%:\Menu.bat %w%:\Tools\

С menu.bat, по-видимому, ожидает, что первым аргументом будет полный путь к каталогу Tools, включая букву диска.

отметим, что startnet.cmd задает переменную среды с именем w, который menu.bat может использовать (но в настоящее время нет!) поэтому другим решением было бы заменить все экземпляры %SecondPath% С %w%:%SecondPath%.

0
отвечен Harry Johnston 2023-05-23 11:49

помогает ли использование Setx? Он изменяет пользовательскую или системную среду. Посмотри на Setx /? дополнительные

0
отвечен uSlackr 2023-05-23 14:06

вы должны проверить " \sources\boot.WiM "файл, откройте этот файл, а затем проверьте эти" \ tools\imagex.exe и bcdboot.ехе" файлы в правильную папку Загрузки.Вима.

0
отвечен Sam 2023-05-23 16:23

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх