根据卷名批量重新分配驱动器号

根据卷名批量重新分配驱动器号

我有一个“WINPE”卷,我正在尝试获取一个批处理脚本,为其分配驱动器号“Z:”

有人给了我下面的脚本,但它不起作用

    for /f %%D in ('wmic volume get DriveLetter^, Label ^| find "WINPE"') do set myDrive=%%D
    @echo off
    echo ===============================================================================
    echo.                          Mobile Repairs Install
    echo ===============================================================================
    echo.                   1 - Install Windows 7 Home Premium
    echo.                   2 - Install Windows 7 Prefessional
    echo.                   3 - Install Windows 8.1
    echo ===============================================================================
    echo.                            Press Zero '0' to Quit
    echo ===============================================================================

    echo off
    :begin
    echo Select a task:
    echo =============
    set /p op=Type option:
    if "%op%"=="1" goto op1
    if "%op%"=="2" goto op2
    if "%op%"=="3" goto op3
    if "%op%"=="0" goto op0


    echo Please Pick an option:
    goto begin


    :op1
    %myDrive%
    diskpart /s diskpartrans.txt
    imagex /apply install7Pre.wim 1 c:
    c:\windows\system32\bcdboot c:\windows
    c:\Windows\system32\shutdown /r /t 0
    goto end

    :op2
    %myDrive%
    diskpart /s diskpartrans.txt
    imagex /apply install7Pro.wim 1 c:
    c:\windows\system32\bcdboot c:\windows
    c:\Windows\system32\shutdown /r /t 0
    goto end


    :op3
    %myDrive%
    diskpart /s diskpartrans.txt
    imagex /apply install8.wim 1 c:
    c:\windows\system32\bcdboot c:\windows
    c:\Windows\system32\shutdown /r /t 0
    goto end

    :op0
    exit

    :end  

答案1

好的,我搞明白了。我安装了 WinPe boot.wim,将 WMIC 从我的 Windows 8.1 复制到 system32 目录,并运行了一个包含以下代码的 bat

    @echo off
    for %%a 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 (vol %%a: 2>nul | find "WINPE" >nul
    if not errorlevel 1 set myDrive=%%a:)
    if "%myDrive%"=="" (echo Cannot find volume
    ) else (
    echo CD /D %myDrive%)>> output.bat
    )
    echo installs>> output.bat

    output.bat 

这将设置一个输出批处理,其中包含我需要的驱动器号。然后它运行该批处理文件,如下所示

    CD /D h:
    installs
    CD /D g:
    installs

这将运行我的安装批处理,即

    echo ===============================================================================
    echo.                          Mobile Repairs Install
    echo ===============================================================================
    echo.                   1 - Install Windows 7 Home Premium
    echo.                   2 - Install Windows 7 Professional
    echo.                   3 - Install Windows 8.1 OEM
    echo.                   4 - Install Windows 8.1 Professional OEM
    echo.                   5 - Install Windows 8.1 OEM UEFI
    echo.                   6 - Install Windows 8.1 Professional OEM UEFI
    echo ===============================================================================
    echo.                            Press Zero '0' to Quit
    echo ===============================================================================

    echo off
    :begin
    echo Select a task:
    echo =============
    set /p op=Type option:
    if "%op%"=="1" goto op1
    if "%op%"=="2" goto op2
    if "%op%"=="3" goto op3
    if "%op%"=="4" goto op4
    if "%op%"=="5" goto op5
    if "%op%"=="6" goto op6
    if "%op%"=="0" goto op0

    echo Please Pick an option:
    goto begin


    :op1
    win7pre.bat
    goto end


    :op2
    win7pro.bat
    goto end


    :op3
    win8bios.bat
    goto end


    :op4
    win8probios.bat
    goto end


    :op5
    8oemuefi.bat
    goto end


    :op6
    8prouefi.bat
    goto end

    :op0
    exit

相关内容