abbodi1406's Batch Scripts Repo

Discussion in 'Scripting' started by abbodi1406, May 4, 2017.

  1. bala1

    bala1 MDL Member

    May 2, 2015
    178
    149
    10
    #2001 bala1, Jun 16, 2022
    Last edited by a moderator: Jun 16, 2022
    @abbodi1406

    It would be great to be able to choose which appx to edit in the iso as it is in the CustomAppsList.txt.
    Would it be possible to add also being able to choose these applications:

    Code:
    Microsoft-OneCore-ApplicationModel-Sync-Desktop-FOD-Package-amd64
    Microsoft-Windows-Hello-Face-Migration-Package-amd64_a6d01b85
    Microsoft-Windows-Hello-Face-Package-amd64_14ae581f
    Microsoft-Windows-InternetExplorer-Optional-Package-amd64_3a44e27a
    Microsoft-Windows-LanguageFeatures-Basic-en-us-Package-amd64_94088bee
    Microsoft-Windows-LanguageFeatures-Handwriting-pt-br-Package-amd64_aa5d881e
    Microsoft-Windows-LanguageFeatures-OCR-en-us-Package-amd64_aa4b6432
    Microsoft-Windows-LanguageFeatures-Speech-en-us-Package-amd64_4b63ef09
    Microsoft-Windows-LanguageFeatures-TextToSpeech-en-us-Package-amd64
    Microsoft-Windows-MediaPlayer-Package-amd64_e1706f9d
    Microsoft-Windows-PowerShell-ISE-FOD-Package-amd64
    Microsoft-Windows-Printing-PMCPPC-FoD-Package-amd64_f08e5cde
    Microsoft-Windows-Printing-WFS-FoD-Package-amd64
    Microsoft-Windows-QuickAssist-Package-amd64
    Microsoft-Windows-StepsRecorder-Package-amd64_079b54fe
    Microsoft-Windows-TabletPCMath-Package-amd64_107597c5
    Microsoft-Windows-UserExperience-Desktop-Package-amd64
    Microsoft-Windows-WordPad-FoD-Package-amd64
    
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  2. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,191
    84,706
    340
    @bala1
    You cannot pick and choose FODs from UUP files set, all of them are already pre-built into install.wim and required for conversion
     
  3. bala1

    bala1 MDL Member

    May 2, 2015
    178
    149
    10
    #2003 bala1, Jun 16, 2022
    Last edited: Jun 16, 2022
    and the others??

    Code:
    Microsoft-Windows-Hello-Face-Migration-Package-amd64_a6d01b85
    Microsoft-Windows-Hello-Face-Package-amd64_14ae581f
    Microsoft-Windows-InternetExplorer-Optional-Package-amd64_3a44e27a
    Microsoft-Windows-MediaPlayer-Package-amd64_e1706f9d
    Microsoft-Windows-QuickAssist-Package-amd64
    Microsoft-Windows-StepsRecorder-Package-amd64_079b54fe
    Microsoft-Windows-TabletPCMath-Package-amd64_107597c5
    Microsoft-Windows-UserExperience-Desktop-Package-amd64
    
    I just want to say that your script is sensational. thanks
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  4. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,191
    84,706
    340
    Same, all required
     
  5. bala1

    bala1 MDL Member

    May 2, 2015
    178
    149
    10
    Ok. Thanks
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  6. shhnedo

    shhnedo MDL Expert

    Mar 20, 2011
    1,672
    2,223
    60
    @Enthousiast
    Code:
    ============================================================
    Unmount install.wim - index 6/6
    ============================================================
    
    Deployment Image Servicing and Management tool
    Version: 10.0.19041.844
    
    Image File : D:\win11\W10MUI\_DVD\sources\install.wim
    Image Index : 6
    Saving image
    [==========================100.0%==========================]
    Unmounting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    ============================================================
    Mount boot.wim - index 1/2
    ============================================================
    
    Deployment Image Servicing and Management tool
    Version: 10.0.19041.844
    
    Mounting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    ============================================================
    Unmount boot.wim - index 1/2
    ============================================================
    
    Deployment Image Servicing and Management tool
    Version: 10.0.19041.844
    
    Image File : D:\win11\W10MUI\_DVD\sources\boot.wim
    Image Index : 1
    Saving image
    [==========================100.0%==========================]
    Unmounting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    ============================================================
    Mount boot.wim - index 2/2
    ============================================================
    
    Deployment Image Servicing and Management tool
    Version: 10.0.19041.844
    
    Mounting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    ============================================================
    Add language files to boot.wim - index 2
    ============================================================
    
    bg-BG
    
    ============================================================
    Unmount boot.wim - index 2/2
    ============================================================
    
    Deployment Image Servicing and Management tool
    Version: 10.0.19041.844
    
    Image File : D:\win11\W10MUI\_DVD\sources\boot.wim
    Image Index : 2
    Saving image
    [==========================100.0%==========================]
    Unmounting image
    [==========================100.0%==========================]
    The operation completed successfully.
    
    ============================================================
    Rebuild boot.wim
    ============================================================
    
    Deployment Image Servicing and Management tool
    Version: 10.0.19041.844
    
    Exporting image
    [==========================100.0%==========================]
    Exporting image
    [==========================100.0%==========================]
    The operation completed successfully.
    upload_2022-6-17_1-34-29.png
    The WinPE cabs don't seem to get integrated. I've taken those from Windows_InsiderPreview_LangPack_22621.iso.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. abbodi1406

    abbodi1406 MDL KB0000001

    Feb 19, 2011
    16,191
    84,706
    340
    You need to change set WINPEPATH= and add the path for WinPE folder in the picture
    or install adkwinpeaddons.iso

    maybe i can enhance WINPEPATH to be detected automatically
     
  8. shhnedo

    shhnedo MDL Expert

    Mar 20, 2011
    1,672
    2,223
    60
    Crap I'm actually stupid... Will redo it tomorrow, it's late atm.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  9. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    47,233
    94,606
    450
    I have the 22621 ADK and pre-installation pack installed.
     
  10. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,642
    3,385
    60
    @abbodi1406,

    Why is this command present in the cleaning of "Mount Points" in "Remove_Failure_MountDir.cmd" script?
    What does Get-Packages assist in this case?
    Code:
    :CLN
    dism.exe /English /Image:"%_mount%" /Get-Packages %_Null%
    
     
  11. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    47,233
    94,606
    450
  12. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,642
    3,385
    60
    This is very nice to know.

    Thnks!
     
  13. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    47,233
    94,606
    450
    Just guessing, i saw that post the other day:)
     
  14. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,642
    3,385
    60
    #2014 inTerActionVRI, Jun 18, 2022
    Last edited: Jun 18, 2022
    This makes full sense, since if there is a Hive loaded/mounted related to some Mount Point, the Dism cannot make the discard and unmount the image mount point.
     
  15. shhnedo

    shhnedo MDL Expert

    Mar 20, 2011
    1,672
    2,223
    60
    Ok, still didn't work. I redid the .1 uupdump iso once with its own boot.wim and once with insider preview iso boot.wim. The cabs get integrated, sure, but the installer is still not fully translated. Maybe more like 30% translated. x)

    @Enthousiast I don't have adk installed, and frankly I think it defeats the purpose of custom winpepath= where I have all those cabs I showed earlier..
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  16. Enthousiast

    Enthousiast MDL Tester

    Oct 30, 2009
    47,233
    94,606
    450
    I always install the ADK/winpe addons for the build i integrate languages (i only do this for testing).
     
  17. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,642
    3,385
    60
    #2017 inTerActionVRI, Jun 25, 2022
    Last edited: Jun 26, 2022
    @abbodi1406,

    Just to inform bugs...

    source ISOs
    18363.2274.220429-2350.19H2_RELEASE_SVC_PROD1_CLIENTMULTI_X86FRE_PT-BR.ISO
    18363.2274.220430-0706.19H2_RELEASE_SVC_PROD1_CLIENTMULTI_X64FRE_PT-BR.ISO

    There is an ISO nomenclature error when we select 1 - Create ISO with 1 combined install .wim/.esd.
    Supposedly should go out with that name:
    18363.2274.160101.1909_RELEASE_CLIENTMULTI_OEMRET_X86-X64FRE_PT-BR.ISO
    But go out with this one.
    18362.1.160101.19H1_RELEASE_CLIENTMULTI_OEMRET_X86-X64FRE_PT-BR.ISO


    I found some folder removal commands that are like some who have already given me a headache here in another script I made, in which when testing the variable was empty and deleted the test folder.
    I find it interesting as a security factor, put an if defined ISOdir or if "%ISOdir%" neq "" if "%ISOdir%" neq "\"
    from:
    Code:
    if exist %ISOdir%\ rmdir /s /q %ISOdir%\
    
    to:
    Code:
    if "%ISOdir%" neq "" if "%ISOdir%" neq "\" if exist "%ISOdir%\" rmdir /s /q "%ISOdir%"
    
    from:
    Code:
    if exist %ISOdir1%\ rmdir /s /q %ISOdir1%\
    
    to:
    Code:
    if "%ISOdir1%" neq "" if "%ISOdir1%" neq "\" if exist "%ISOdir1%\" rmdir /s /q "%ISOdir1%"
    
    from:
    Code:
    if exist %ISOdir2%\ rmdir /s /q %ISOdir2%\
    
    to:
    Code:
    if "%ISOdir2%" neq "" if "%ISOdir2%" neq "\" if exist "%ISOdir2%\" rmdir /s /q "%ISOdir2%"
    
    from:
    Code:
    if exist "!_cabdir!\" rmdir /s /q "!_cabdir!\"
    
    to:
    Code:
    if "!_cabdir!" neq "" if "!_cabdir!" neq "\" if exist "!_cabdir!\" rmdir /s /q "!_cabdir!"
    
    from:
    Code:
    if exist "%_mount%\" rmdir /s /q "%_mount%\"
    
    to:
    Code:
    if "%_mount%" neq "" if "%_mount%" neq "\" if exist "%_mount%\" rmdir /s /q "%_mount%" %_Null%
    
    from:
    Code:
    rmdir /s /q %_dst%\
    
    to:
    Code:
    if "%_dst%" neq "" if "%_dst%" neq "\" if exist "%_dst%\" rmdir /s /q "%_dst%"
    
    from:
    Code:
    rmdir /s /q %packn%
    
    to:
    Code:
    if "%packn%" neq "" if "%packn%" neq "\" if exist "%packn%\" rmdir /s /q "%packn%"
    
    from:
    Code:
    rmdir /s /q "%pkgn%\"
    
    to:
    Code:
    if "%pkgn%" neq "" if "%pkgn%" neq "\" if exist "%pkgn%\" rmdir /s /q "%pkgn%"
    
    from:
    Code:
    if exist "!dest!\" rmdir /s /q "!dest!\"
    
    to:
    Code:
    if "!dest!" neq "" if "!dest!" neq "\" if exist "!dest!\" rmdir /s /q "!dest!"
    
    from:
    Code:
    rmdir /s /q "!dest!\" %_Nul3%
    
    to:
    Code:
    if "!dest!" neq "" if "!dest!" neq "\" if exist "!dest!\" rmdir /s /q "!dest!"
    

    It is interesting to implement:
    Code:
    call : RemoveFolder "%FolderPath%"
    
    :RemoveFolder
    if "%~1" neq "" if "%~1" neq "\" if exist "%~1\" rd /S /Q "%~1" >nul
    goto :EOF
    
    This is a problem only for requesting folder deletion through alone variables as path. If we make any errors and the variable is empty... my testimonial below.

    After all, if the variable is empty the removal command will be...
    RMDIR /S /Q \
    And, this is tragedy! Depending on the work drive, it erases the whole root. In SSD it was a flash and deleted everything. I went crazy with that. Good thing I didn't have much without backup, from 32gb, only 8 txt and script files.
    But may this serve as a testimonial so that it does not happen to anyone.




    Another thing...
    Remember that I made a scheme for your scripts I customize, so that I could select the isos with PowerShell command with Out-GridView?

    I converted to the natural mode, completely CLI mode.

    I optimized at Multiarch, because I use the nomenclatures of my isos with x86-32 and x86-64 or x86_32 and x86_64, this is a mania when I used a lot of Linux.

    from:
    Code:
    dir /b /ad *_x64* %_Nul3% && for /f "tokens=* delims=" %%# in ('dir /b /ad *_x64*') do (
    if exist "%%~#\sources\install.wim" set _dir64=1&set "ISOdir1=%%#"
    if exist "%%~#\sources\install.esd" set _dir64=1&set "ISOdir1=%%#"
    if exist "%%~#\sources\install.swm" set _dir64=1&set "ISOdir1=%%#"
    )
    if %_dir64% equ 0 dir /b /ad *_amd64* %_Nul3% && for /f "tokens=* delims=" %%# in ('dir /b /ad *_amd64*') do (
    if exist "%%~#\sources\install.wim" set _dir64=1&set "ISOdir1=%%#"
    if exist "%%~#\sources\install.esd" set _dir64=1&set "ISOdir1=%%#"
    if exist "%%~#\sources\install.swm" set _dir64=1&set "ISOdir1=%%#"
    )
    dir /b /ad *_x86* %_Nul3% && for /f "tokens=* delims=" %%# in ('dir /b /ad *_x86*') do (
    if exist "%%~#\sources\install.wim" set _dir86=1&set "ISOdir2=%%#"
    if exist "%%~#\sources\install.esd" set _dir86=1&set "ISOdir2=%%#"
    if exist "%%~#\sources\install.swm" set _dir86=1&set "ISOdir2=%%#"
    )
    if %_dir86% equ 0 dir /b /ad *_x32* %_Nul3% && for /f "tokens=* delims=" %%# in ('dir /b /ad *_x32*') do (
    if exist "%%~#\sources\install.wim" set _dir86=1&set "ISOdir2=%%#"
    if exist "%%~#\sources\install.esd" set _dir86=1&set "ISOdir2=%%#"
    if exist "%%~#\sources\install.swm" set _dir86=1&set "ISOdir2=%%#"
    )
    if %_dir64% equ 1 if %_dir86% equ 1 goto :DUALMENU
    
    if not exist "*.iso" goto :noiso
    dir /b /a:-d *_x64*.iso %_Nul3% && (
    set _iso64=1
    for /f "tokens=* delims=" %%# in ('dir /b /a:-d *_x64*.iso') do set "ISOfile1=%%#"
    )
    if %_iso64% equ 0 dir /b /a:-d *_amd64*.iso %_Nul3% && (
    set _iso64=1
    for /f "tokens=* delims=" %%# in ('dir /b /a:-d *_amd64*.iso') do set "ISOfile1=%%#"
    )
    dir /b /a:-d *_x86*.iso %_Nul3% && (
    set _iso86=1
    for /f "tokens=* delims=" %%# in ('dir /b /a:-d *_x86*.iso') do set "ISOfile2=%%#"
    )
    if %_iso86% equ 0 dir /b /a:-d *_x32*.iso %_Nul3% && (
    set _iso86=1
    for /f "tokens=* delims=" %%# in ('dir /b /a:-d *_x32*.iso') do set "ISOfile2=%%#"
    )
    if %_iso64% equ 1 if %_iso86% equ 1 goto :DUALMENU
    
    :noiso
    setlocal DisableDelayedExpansion
    
    :prompt1
    @cls
    set _erriso=0
    set _iso1=
    echo %line%
    echo Enter / Paste the complete path to 1st ISO file
    echo %line%
    echo.
    set /p _iso1=
    if not defined _iso1 (set _Debug=1&goto :QUIT)
    set "_iso1=%_iso1:"=%"
    if not exist "%_iso1%" set _erriso=1
    if /i not "%_iso1:~-4%"==".iso" set _erriso=1
    if %_erriso% equ 1 (
    echo.
    echo %_err%
    echo Specified path is not a valid ISO file
    echo.
    echo Press any key to continue...
    pause >nul
    goto :prompt1
    )
    
    :prompt2
    set _erriso=0
    set _iso2=
    echo.
    echo %line%
    echo Enter / Paste the complete path to 2nd ISO file
    echo %line%
    echo.
    set /p _iso2=
    if not defined _iso2 (set _Debug=1&goto :QUIT)
    set "_iso2=%_iso2:"=%"
    if not exist "%_iso2%" set _erriso=1
    if /i not "%_iso2:~-4%"==".iso" set _erriso=1
    if %_erriso% equ 1 (
    echo.
    echo %_err%
    echo Specified path is not a valid ISO file
    echo.
    echo Press any key to continue...
    pause >nul
    @cls
    goto :prompt2
    )
    
    echo "%_iso1%"| findstr /I /C:"x64" 1>nul && (set _iso64=1&set "ISOfile1=%_iso1%")
    if %_iso64% equ 0 echo "%_iso1%"| findstr /I /C:"amd64" 1>nul && (set _iso64=1&set "ISOfile1=%_iso1%")
    echo "%_iso1%"| findstr /I /C:"x86" 1>nul && (set _iso86=1&set "ISOfile2=%_iso1%")
    if %_iso86% equ 0 echo "%_iso1%"| findstr /I /C:"x32" 1>nul && (set _iso86=1&set "ISOfile2=%_iso1%")
    echo "%_iso2%"| findstr /I /C:"x64" 1>nul && (set _iso64=1&set "ISOfile1=%_iso2%")
    if %_iso64% equ 0 echo "%_iso2%"| findstr /I /C:"amd64" 1>nul && (set _iso64=1&set "ISOfile1=%_iso2%")
    echo "%_iso2%"| findstr /I /C:"x86" 1>nul && (set _iso86=1&set "ISOfile2=%_iso2%")
    if %_iso86% equ 0 echo "%_iso2%"| findstr /I /C:"x32" 1>nul && (set _iso86=1&set "ISOfile2=%_iso2%")
    
    to:
    Code:
    for /f "tokens=*" %%# in ('dir /B /AD "*.*" ^| findstr.exe /I /V "x86-32 x86_32" ^| findstr.exe /I "x86 x64 amd64"') do (
      if exist "%%~#\sources\install.wim" set _dir64=1&set "ISOdir1=%%#"
      if exist "%%~#\sources\install.esd" set _dir64=1&set "ISOdir1=%%#"
      if exist "%%~#\sources\install.swm" set _dir64=1&set "ISOdir1=%%#"
    )
    for /f "tokens=*" %%# in ('dir /B /AD "*.*" ^| findstr.exe /I /V "x86-64 x86_64" ^| findstr.exe /I "x86 x32"') do (
      if exist "%%~#\sources\install.wim" set _dir86=1&set "ISOdir2=%%#"
      if exist "%%~#\sources\install.esd" set _dir86=1&set "ISOdir2=%%#"
      if exist "%%~#\sources\install.swm" set _dir86=1&set "ISOdir2=%%#"
    )
    if %_dir64% equ 1 if %_dir86% equ 1 goto :DUALMENU
    
    if not exist "*.iso" goto :prompt
    
    for /f "tokens=*" %%# in ('dir /B /A-D "*.iso" ^| findstr.exe /I /V "x86-32 x86_32" ^| findstr.exe /I "x86 x64 amd64"') do (
      set "ISOfile1=%%#"
      set _iso64=1
    )
    for /f "tokens=*" %%# in ('dir /B /A-D "*.iso" ^| findstr.exe /I /V "x86-64 x86_64" ^| findstr.exe /I "x86 x32"') do (
      set "ISOfile2=%%#"
      set _iso86=1
    )
    if %_iso64% equ 1 if %_iso86% equ 1 goto :DUALMENU
    
    :prompt
    if "!exitCount!" equ "" cls
    set _erriso=0
    set _iso1=
    set _iso2=
    echo %line%
    set ISOpath=
    set /p "ISOpath=Enter/Paste the complete path to your ISO folder : "
    if exist "%ISOpath%\*.iso" (
      echo.
      echo %line%
      echo.
      echo.Select the two ISO files you want to merge.
      echo.
      set /A count=1
      for /f "tokens=*" %%# in ('dir /B /A-D "%ISOpath%\*.iso"') do (
        if !count! geq 1 if !count! leq 9 set "OptionID= !count!"
        if !count! gtr 9 if !count! leq 99 set "OptionID=!count!"
        set "InstallMediaSourceID_%%#=!count!"
        if "!InstallMediaSourceID_%%#!" neq "" (
          echo.[!OptionID!] %%#
          set /A count+=1
        )
      )
      echo.
      echo.  Note: You can make the multiple ISO selection. Ex: 1 2 or 5,6 or 9;10
      echo.        spaces ^(obviously^), comas and semi colons will be read by
      echo.        CMD compiler as ^<SPACE^> so use the one or everyone you want.
      echo.
      echo.
      echo. [S] To Set another ISO path.
      echo.
      echo.
      echo %line%
      echo.
      set /p "MenuChoice=Enter Your Choice : "
      set /A ISOcount=0
      for %%c in (!MenuChoice!) DO (
        if /I "%%c" equ "S" goto :prompt
        for /f "tokens=*" %%# in ('dir /B /A-D "%ISOpath%\*.iso"') do (
          if "%%c" equ "!InstallMediaSourceID_%%#!" (
            set /A ISOcount+=1
            if !ISOcount! leq 2 set "ISOfilepath!ISOcount!=%ISOpath%\%%~#"
          )
        )
      )
    ) else (
      echo There are no ISOs or folder is not found.
      echo.
      echo Press any key to continue...
      pause >nul
      goto :prompt
    )
    if "!exitCount!" equ "" set /A exitCount=0
    for /L %%i in (1 1 2) do (
      if "!ISOfilepath%%i!" equ "" (
        set /A exitCount+=1
        if !exitCount! equ 5 (
          goto :QUIT
        )
      )
      set "_iso%%i=!ISOfilepath%%i:"=!"
      echo.Image File Path and Name: "!_iso%%i!"
      if not exist "!_iso%%i!" set "_erriso=1"
    )
    if "%_erriso%" equ "1" (
      echo.
      echo %_err%
      echo Specified path is not a valid ISO file
      echo.
      echo Press any key to continue...
      pause >nul
      goto :prompt
    )
    
    setlocal DisableDelayedExpansion
    
    echo "%_iso1%"| findstr.exe /I /V "x86-32 x86_32" | findstr.exe /I "x86 x64 amd64" 1>nul && (set _iso64=1&set "ISOfile1=%_iso1%")
    echo "%_iso2%"| findstr.exe /I /V "x86-32 x86_32" | findstr.exe /I "x86 x64 amd64" 1>nul && (set _iso64=1&set "ISOfile1=%_iso2%")
    echo "%_iso1%"| findstr.exe /I /V "x86-64 x86_64" | findstr.exe /I "x86 x32" 1>nul && (set _iso86=1&set "ISOfile2=%_iso1%")
    echo "%_iso2%"| findstr.exe /I /V "x86-64 x86_64" | findstr.exe /I "x86 x32" 1>nul && (set _iso86=1&set "ISOfile2=%_iso2%")
    
    For the menu, the user only needs to identify the ISOs folder, not the full path with the file name.

    The prompt Label is longer because it creates a menu to select the ISOs and because the promp1 and prompt2 are merged.
    The parts that search for ISO folders and ISO files and the part that set ISOfile1 and ISOfile2 variables, had their code optimized.


    EDIT:
    I took a test here that didn't take the ISO path correctly:
    I changed to:
    Code:
           if !ISOcount! leq 2 set "ISOfilepath!ISOcount!=%ISOpath%\%%~#"
    
     
  18. inTerActionVRI

    inTerActionVRI MDL Expert

    Sep 23, 2009
    1,642
    3,385
    60
    #2019 inTerActionVRI, Jun 25, 2022
    Last edited: Jun 25, 2022
    @abbodi1406,

    And from this:
    Code:
    for /f "tokens=*" %%# in ('dir /B /AD "*.*" ^| findstr.exe /I /V "x86-32 x86_32" ^| findstr.exe /I "x86 x64 amd64"') do (
      if exist "%%~#\sources\install.wim" set _dir64=1&set "ISOdir1=%%#"
      if exist "%%~#\sources\install.esd" set _dir64=1&set "ISOdir1=%%#"
      if exist "%%~#\sources\install.swm" set _dir64=1&set "ISOdir1=%%#"
    )
    for /f "tokens=*" %%# in ('dir /B /AD "*.*" ^| findstr.exe /I /V "x86-64 x86_64" ^| findstr.exe /I "x86 x32"') do (
      if exist "%%~#\sources\install.wim" set _dir86=1&set "ISOdir2=%%#"
      if exist "%%~#\sources\install.esd" set _dir86=1&set "ISOdir2=%%#"
      if exist "%%~#\sources\install.swm" set _dir86=1&set "ISOdir2=%%#"
    )
    
    to:
    Code:
    for /f "tokens=*" %%# in ('dir /B /AD "*.*" ^| findstr.exe /I /V "x86-32 x86_32" ^| findstr.exe /I "x86 x64 amd64"') do (
      if exist "%%~#\sources\install.*" (
        set "ISOdir1=%%#"
        set _dir64=1
      )
    )
    for /f "tokens=*" %%# in ('dir /B /AD "*.*" ^| findstr.exe /I /V "x86-64 x86_64" ^| findstr.exe /I "x86 x32"') do (
      if exist "%%~#\sources\install.*" (
        set "ISOdir2=%%#"
        set _dir86=1
      )
    )
    
    That way it will work right.
    But I would like to know if it can be optimized in this way or modifying these structure, so will intervene in your future plans for this script?
     
  19. 正义羊

    正义羊 MDL Senior Member

    Feb 21, 2016
    255
    147
    10
    @abbodi1406 , @inTerActionVRI ,
    multi_arch_iso.cmd in uup-converter-wimlib is not working properly.
    When running multi_arch_iso.cmd, the automatic privilege escalation works normally, but after UAC approval, it crashes and no window is displayed.
    The version where this problem occurs is this script that is included in all versions starting from 79f, and only this script that multi_arch_iso.cmd does not work properly, other scripts work without any problems.
    79 and earlier versions of this script work fine.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...