|
|
楼主 |
发表于 2025-5-1 13:21:34
|
显示全部楼层
本帖最后由 zhoubin 于 2025-5-3 09:11 编辑
- ::-----请根据实际情况,修改:H:\常用工具-文件\MAKE ISO\64位Windows8 专业版(原RESC.GHO)华硕P43SJ.WIM文件路径;适合32位Win7PE和64位Win8PE添加文件,参考-----
- ::64位Win7SP1下,若Dism挂载.wim文件失败,需要安装PETOOLS\程序\磁盘光盘\WIM镜像\WIMSETUP\WIN7系统中的WIMMOUNT组件.EXE,其他更多系统,略. . .
- ::批处理调试
- ::%1 @cmd /k %0 :
- setlocal enabledelayedexpansion
- PUSHD %~dp0
- @ECHO OFF
- for /f "tokens=1* delims=[" %%a in ('ver') do set FulVer=%%b
- set FulVer=%FulVer:* =%
- for /f "tokens=2 delims=[" %%a in ('ver') do for /f "tokens=2,3 delims=. " %%b in ("%%a") do set Winver=%%b%%c
- @ECHO On
- ::if /i not "%windir:~,2%"=="X:" exit
- set TarWim=H:\常用工具-文件\MAKE ISO\64位Windows8 专业版(原RESC.GHO)华硕P43SJ.WIM
- If not Exist "%TarWim%" call :JudgeSys
- If not Exist "%TarWim%" goto GetFileVer
- ::Dism挂载.cmd
- DISM.exe /Get-WimInfo /WimFile:"%TarWim%"
- SET /P drive_letter= 请输入你要查看挂载的wim镜像卷(1/2/3/4/5...)
- @echo.
- DISM.exe /Get-WIMInfo /WimFile:"%TarWim%" /index:%drive_letter%
- @echo.
- @echo 按任意键开始挂载指定wim卷文件......
- ::@pause >NUL 2>NUL
- md D:\123
- Dism.exe /Mount-Wim /WimFile:"%TarWim%" /index:%drive_letter% /MountDir:D:\123 /ReadOnly
- ::start "" explorer.exe /n,"D:\123\Windows\System32"
- call :JudgeSys
- set TarDir=C:\Windows
- if not exist "C:\Windows\*" if exist "D:\Windows\*" set TarDir=D:\Windows
- if exist "D:\123\Windows\*" set TarDir=D:\123\Windows
- if not exist "D:\123\Windows\*" if "!TarVer:~0,4!"=="%FulVer:~,4%" set TarDir=!TardrV!\Windows
- call :MakeFileLst
- @echo on
- if exist FlashCenter补充文件.txt call :CopyFiles
- @echo.
- @echo 按任意键开始卸载......
- @pause >NUL 2>NUL
- ::Dism卸载.cmd
- DISM.exe /Unmount-Wim /MountDir:D:\123 /discard
- rd /s /q D:\123
- pause&&exit
- :MakeFileLst
- del FlashCenter补充文件.txt 2>NUL
- if /i not "%windir:~,2%"=="X:" set TarDiX=%TarDir%
- if /i "%windir:~,2%"=="X:" set TarDiX=%WinDir%
- if exist "%TarDir%\WinSxs\*.7600.*" if not exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo ;;FlashCenter For 64位Win10.安装再精简-FlashCenter可用,32位win7PE下,还需补充以下文件,PE下请连网测试;存档参考. . .>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if not exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\System32\d3d9.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if not exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\System32\d3d11.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if not exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\System32\dxgi.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if not exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\System32\dxva2.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if not exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\System32\dhcpcsvc.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo ;;FlashCenter For 64位Win10.安装再精简-FlashCenter可用,32位win7PE下,还需补充以下文件,PE下请连网测试;存档参考. . .>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\SysWOW64\d3d9.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\SysWOW64\d3d11.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\SysWOW64\dxgi.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\SysWOW64\dxva2.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.7600.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.7600.*" echo Windows\SysWOW64\dhcpcsvc.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo ;;FlashCenter For 64位Win10.安装再精简-FlashCenter可用,64位win8PE下,还需补充以下文件,PE下请连网测试;存档参考. . .>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo Windows\SysWOW64\dhcpcsvc.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo Windows\SysWOW64\dxgi.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo Windows\SysWOW64\dxva2.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo Windows\SysWOW64\ncrypt.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo Windows\SysWOW64\ntasn1.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo Windows\SysWOW64\d3d9.dll>>FlashCenter补充文件.txt
- if exist "%TarDir%\WinSxs\*.9200.*" if exist %TarDir%\SysWOW64 if exist "%TarDiX%\WinSxs\*.9200.*" echo Windows\SysWOW64\d3d11.dll>>FlashCenter补充文件.txt
- goto :eof
- :CopyFiles
- ::按文件列表拷文件到对应目录.cmd,以下适合系统下,复制文件
- @echo off
- PUSHD %~dp0
- ::不能跨标签段,引用延迟变量赋值(存档参考)
- if /i "%windir:~,2%"=="X:" goto CopyFilesPE
- for /f "delims=" %%a in (FlashCenter补充文件.txt) do (
- for /f "delims=" %%b in ("\%%~a") do (
- if /i not "%windir:~,2%"=="X:" if not exist "D:\123\Windows\*" xcopy "%SystemDrive%\%%~a" "%cd%\FlashCenter补充文件%%~pb" /h /y
- if /i not "%windir:~,2%"=="X:" if not exist "D:\123\Windows\*" if "!TarVer:~0,4!"=="%FulVer:~,4%" xcopy "!TardrV!\%%~a" "%cd%\FlashCenter补充文件%%~pb" /h /y
- if /i not "%windir:~,2%"=="X:" if exist "D:\123\Windows\*" xcopy "D:\123\%%~a" "%cd%\FlashCenter补充文件%%~pb" /h /y
- )
- )
- @echo on
- if exist "%cd%\FlashCenter补充文件" move FlashCenter补充文件.txt "%cd%\FlashCenter补充文件"
- goto :eof
- :CopyFilesPE
- ::不能跨标签段,引用延迟变量赋值(存档参考)
- ::按文件列表拷文件到对应目录.cmd,以下适合PE下,添加系统文件
- @echo off
- PUSHD %~dp0
- for /f "delims=" %%a in (FlashCenter补充文件.txt) do (
- for /f "delims=" %%b in ("\%%~a") do (
- rem if /i "%windir:~,2%"=="X:" if "!TarVer:~0,4!"=="%FulVer:~,4%" if exist "D:\123\*" xcopy "D:\123\%%~a" "%SystemDrive%%%~pb" /h /y
- rem if /i "%windir:~,2%"=="X:" if "!TarVer:~0,4!"=="%FulVer:~,4%" if "!TardrV!"=="C:" xcopy "C:\%%~a" "%SystemDrive%%%~pb" /h /y
- rem if /i "%windir:~,2%"=="X:" if "!TarVer:~0,4!"=="%FulVer:~,4%" if "!TardrV!"=="D:" xcopy "D:\%%~a" "%SystemDrive%%%~pb" /h /y
- if /i "%windir:~,2%"=="X:" if "!TarVer:~0,4!"=="%FulVer:~,4%" if exist "%TardrV%\Windows\*" xcopy "%TardrV%\%%~a" "%SystemDrive%%%~pb" /h /y
- )
- )
- @echo on
- if /i "%windir:~,2%"=="X:" IF %PROCESSOR_ARCHITECTURE:~-2%%Winver% EQU 8661 Move %Windir%\SysWOW64\* %Windir%\System32 2>NUL
- if /i "%windir:~,2%"=="X:" IF %PROCESSOR_ARCHITECTURE:~-2%%Winver% EQU 8661 rd /s /q %Windir%\SysWOW64 2>NUL
- goto :eof
复制代码 |
|