Jak uruchomić copype.cmd dla WinPE z pliku wsadowego

0

Piszę narzędzie, które konfiguruje dla ciebie WinPE Drive, i wywołałem polecenia DISM z pliku wsadowego administratora. Nie mogę jednak dowiedzieć się, jak uruchomić polecenie copype, aby początkowo skonfigurować dysk.

"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\copype.cmd" jest miejsce, w którym znajduje się narzędzie copype, ale podczas wywoływania go za pomocą polecenia command z: Dism "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\copype.cmd" amd64 C:\WinPE_amd64 to odpowiada Dism doesn't recognise the command-line option "copype.cmd" Jeśli spróbuję uruchomić plik bezpośrednio z wiersza poleceń, to znaczy, że nie może znaleźć infrastruktury amd64. Jedynym sposobem, aby go uruchomić, jest uruchomienie środowiska administracyjnego Deployment and Imaging Tools Environment i uruchomienie polecenia copype. Musi być jakiś sposób, żeby to zrobić, ale nie wiem, jak to zrobić.

Mark Deven
źródło

Odpowiedzi:

0

Okazuje się, że Windows ADK Copype był nieco zepsuty od Windows 8. Brakuje jakiejś zmiennej. Jeśli umieścisz to w pliku wsadowym, możesz użyć call :copype wywoływać do niego polecenia:

:copype
setlocal

set TEMPL=media
set FWFILES=fwfiles

rem
rem Input validation
rem
if /i "%1"=="/?" goto usage
if /i "%1"=="" goto usage
if /i "%~2"=="" goto usage
if /i not "%3"=="" goto usage

rem
rem Set environment variables for use in the script
rem
set WINPE_ARCH=%1
set SOURCE=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\%WINPE_ARCH%
set FWFILESROOT=C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\%WINPE_ARCH%\Oscdimg
set DEST=%~2
set WIMSOURCEPATH=%SOURCE%\en-us\winpe.wim

rem
rem Validate input architecture
rem
rem If the source directory as per input architecture does not exist,
rem it means the architecture is not present
rem
if not exist "%SOURCE%" (
  echo ERROR: The following processor architecture was not found: %WINPE_ARCH%.
  exit /b 1
)

rem
rem Validate the boot app directory location
rem
rem If the input architecture is validated, this directory must exist
rem This check is only to be extra careful
rem
if not exist "%FWFILESROOT%" (
  echo ERROR: The following path for firmware files was not found: "%FWFILESROOT%".
  exit /b 1
)

rem
rem Make sure the appropriate winpe.wim is present
rem
if not exist "%WIMSOURCEPATH%" (
  echo ERROR: WinPE WIM file does not exist: "%WIMSOURCEPATH%".
  exit /b 1
)

rem
rem Make sure the destination directory does not exist
rem
if exist "%DEST%" (
  echo ERROR: Destination directory exists: %2.
  exit /b 1
)

mkdir "%DEST%"
if errorlevel 1 (
  echo ERROR: Unable to create destination: %2.
  exit /b 1
)

echo.
echo ===================================================
echo Creating Windows PE customization working directory
echo.
echo     %DEST%
echo ===================================================
echo.

mkdir "%DEST%\%TEMPL%"
if errorlevel 1 goto :FAIL
mkdir "%DEST%\mount"
if errorlevel 1 goto :FAIL
mkdir "%DEST%\%FWFILES%"
if errorlevel 1 goto :FAIL

rem
rem Copy the boot files and WinPE WIM to the destination location
rem
xcopy /cherky "%SOURCE%\Media" "%DEST%\%TEMPL%\"
if errorlevel 1 goto :FAIL
mkdir "%DEST%\%TEMPL%\sources"
if errorlevel 1 goto :FAIL
copy "%WIMSOURCEPATH%" "%DEST%\%TEMPL%\sources\boot.wim"
if errorlevel 1 goto :FAIL

rem
rem Copy the boot apps to enable ISO boot
rem
rem  UEFI boot uses efisys.bin
rem  BIOS boot uses etfsboot.com
rem
copy "%FWFILESROOT%\efisys.bin" "%DEST%\%FWFILES%"
if errorlevel 1 goto :FAIL
if exist "%FWFILESROOT%\etfsboot.com" (
  copy "%FWFILESROOT%\etfsboot.com" "%DEST%\%FWFILES%"
  if errorlevel 1 goto :FAIL
)

endlocal
echo.
echo Success
echo.

cd /d "%~2"

goto :EOF

:usage
echo Creates working directories for WinPE image customization and media creation.
echo.
echo copype { amd64 ^| x86 ^| arm } ^<workingDirectory^>
echo.
echo  amd64             Copies amd64 boot files and WIM to ^<workingDirectory^>\media.
echo  x86               Copies x86 boot files and WIM to ^<workingDirectory^>\media.
echo  arm               Copies arm boot files and WIM to ^<workingDirectory^>\media.
echo                    Note: ARM content may not be present in this ADK.
echo  workingDirectory  Creates the working directory at the specified location.
echo.
echo Example: copype amd64 C:\WinPE_amd64
goto :EOF

:FAIL
echo ERROR: Failed to create working directory.
set EROP=YEs
exit /b 1
Rem CopyPE created by Microsoft and Edited by Lucas Elliott and wjsorensen on technet
::------------------------ END --------------------------

Dla każdego, kto używa Windows 8, możesz zobaczyć ich rozwiązanie tutaj: https://social.technet.microsoft.com/Forums/ie/en-US/1155d38c-e7fd-4b4f-a31c-26875d4f47a7/windows-pe-error-using-windows-8-adk?forum=w8itproinstall

Mark Deven
źródło
0

Ehm, wkroczyłem tutaj szukając informacji o copype i podążyłem za linkiem do forum technet. Jest nowy post sprzed kilku dni - zdecydowanie polecam to przeczytać. W skrócie, copype nie jest w ogóle łamany: jest po prostu przeznaczony do uruchomienia ze środowiska ADK (wywołanie polecenia cmd przez kliknięcie odpowiedniego łącza w Start - & gt; Wszystkie programy - & gt; Zestawy Windows - & gt; Windows ADK). (No cóż, to jest ścieżka w Win 7: zainstalowałem Windows 8 ADK (wersja 6.3.9600.17029) na Windows 7, w Win 8 i prawdopodobnie również w Win 10 ścieżka będzie nieco inna ze względu na inny układ menu Start.)

Enrico
źródło
Tak na Windows 10 wszystko jest inne.
Mark Deven