Я не знаю скриптов или PowerShell (да, мне нужно чему-то научиться). Я не эксперт в создании пакетных файлов.
У меня есть флешка WinPE, которую я использовал для развертывания образов ОС. У меня есть WIM, драйверы и все, что нужно, кроме среды WinPE, чтобы мне было легче вносить изменения, изменения.
Я использую пакетный файл "STARTNET.CMD", который является частью WinPE.
Причиной использования дисков с буквами является то, что WinPE всегда получает назначенный диск с буквой X. Сама флешка может получать случайное письмо, которое всегда меняется.
Мое меню развертывания находится на флешке само по себе, а не внутри WinPE. Это так, что если мне нужно внести изменения, мне не нужно повторно делать WinPE.
Я могу найти командный файл "menu.bat" и запустить его. Я использую переменную для захвата буквы диска. Я вызываю второй пакетный файл с именем «menu.bat» и передаю ему переменную.
Когда загружается второй пакетный файл, я считаю, что я правильно вызываю переменную. Если я выйду из командного файла, я могу вызвать переменную и увидеть ожидаемый ответ. Проблема в том, что я не могу использовать переменную для работы с чем-либо во втором пакетном файле. В моем тесте я могу заставить это работать снова и снова. Когда он работает с настоящей флешки, он не работает. Я удалил комментарии из второго пакетного файла, чтобы уменьшить его.
Моя проблема в том, что файлы ниже всех получают сообщение о том, что система не может найти указанный путь.
Diskpart
Imagex.exe
bcdboot.exe
Почему я не могу заставить переменную нормально функционировать, когда я пытаюсь использовать пример "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%BatchFiles\Make-Partition.txt
%SecondPath%imagex.exe /apply %SecondPath%Images\Win7-64b-Ent-Basic-SysPreped.wim 1 o:\ /verify
%SecondPath%bcdboot.exe o:\Windows /s S:
Copy %SecondPath%Unattended\unattend.XML o:\Windows\System32\sysprep\unattend.XML /y
xcopy %SecondPath%Drivers\790\*.* o:\Windows\INF\790\ /E /Q /Y
MD o:\Windows\Setup\Scripts\
Copy %SecondPath%BatchFiles\SetupComplete.cmd o:\Windows\Setup\Scripts\ /y
Goto Done
:Done
Exit