แบทช์เพื่อกำหนดอักษรชื่อไดรฟ์ใหม่ตามชื่อโวลุ่ม


1

ฉันมีไดรฟ์ข้อมูล "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  


นั่นไม่ได้ช่วยฉัน ฉันขอโทษ
Emery Williams

"ใช้งานไม่ได้" ไม่มีประโยชน์มาก - มีข้อความใด ๆ หรือไม่ คุณกำลังเรียกใช้สคริปต์ในฐานะผู้ดูแลระบบหรือไม่? ระบบปฏิบัติการของคุณคืออะไร?
DavidPostill

ฉันพยายามเรียกใช้สคริปต์จากภายในไดรฟ์ WINPE ที่บูตได้ฉันติดตั้ง boot.wim และสร้างแบ็ตสำหรับ / f %% D ใน ('ไดรฟ์ข้อมูล wmic รับ DriveLetter ^, ฉลาก ^ | ค้นหา "WINPE"') ตั้งค่า myDrive = %% D อ้างถึงเพื่อใช้% myDrive% ฉันได้ใช้การแก้จุดบกพร่องและก็พบว่าไม่มีข้อผิดพลาดในขณะที่มันทำงานบน cmd เพียงไม่อยู่ภายใต้คำสั่ง WINPE
ทรายวิลเลียมส์

ฉันแก้ไขโพสต์ต้นฉบับด้วยสคริปต์ที่แน่นอนของฉันที่ฉันเพิ่งทำ
Emery Williams

คำตอบ:


1

โอเคฉันคิดออกแล้ว ฉันติดตั้ง WinPe boot.wim คัดลอก WMIC จาก windows 8.1 ไปยัง system32 dir และ 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

ดูเหมือนจะชอบมาก แต่ใช้งานได้และตอนนี้ฉันสามารถติดตั้ง windows ได้ภายใน 2 นาทีจากไฟล์ Wim
Emery Williams
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.