Não sei scripts nem PowerShell (sim, preciso aprender alguma coisa). Eu também não sou um especialista em criação de arquivos em lote.
Eu tenho uma unidade flash do WinPE que usei para implantar imagens do sistema operacional. Eu tenho o WIM, drivers e qualquer coisa necessária fora do ambiente WinPE para garantir que
Atualizações, mudanças são mais fáceis para mim.
Eu uso o arquivo em lote "STARTNET.CMD" que faz parte do WinPE.
O motivo para passar pelas unidades de letras é que o WinPE sempre obtém a unidade de letra X atribuída. O pen drive pode receber uma letra aleatória que sempre muda.
Meu menu de implantação está localizado na própria unidade flash e não dentro do WinPE. Isso é para que, se eu precisar fazer uma alteração, não precise refazer o WinPE.
Eu posso localizar o arquivo em lote "menu.bat" e iniciá-lo.
Eu uso uma variável para capturar a letra.
Eu chamo o segundo arquivo de lote chamado "menu.bat" e passo a variável para ele.
Quando o segundo arquivo de lote é carregado, acredito que estou chamando a variável corretamente. Se eu sair do arquivo em lote, posso fazer o eco da variável e ver a resposta esperada.
O problema é que não posso usar a variável para trabalhar com qualquer coisa no segundo arquivo de lote.
No meu teste, posso fazer isso funcionar repetidamente.
Quando é executado a partir da unidade flash USB real, não funciona.
Removi os comentários do segundo arquivo de lote para torná-lo menor.
Meu problema é que os arquivos abaixo recebem uma mensagem informando que o sistema não pode encontrar o caminho especificado.
Diskpart
Imagex.exe
bcdboot.exe
Por que não consigo configurar corretamente a variante quando tento usar o exemplo "ImageX.exe"?
Conteúdo do 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\
Conteúdo do Menu.BAT
@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%Drivers0\*.* o:\Windows\INF0\ /E /Q /Y
MD o:\Windows\Setup\Scripts\
Copy %SecondPath%BatchFiles\SetupComplete.cmd o:\Windows\Setup\Scripts\ /y
Goto Done
:Done
Exit