回复 2# andyrave
多谢andyrave 大哥的指导 我已经按照您的指导完美的解决了问题 下面是我修改过的原代码:此代码是全盘搜索根目录下sources文件夹下的install.wim文件 并打开指定路径的Install.wim文件
现在又有个新问题:如何在输入数字之后(imagex /export "%wim%" 1 c:\install.wim)中的1也变成我们输入的数字 比如说输入2之后(imagex /export "%wim%" 1 c:\install.wim)中的1就变成了2 这样我们可以省去很多的繁琐代码 来优化源代码。。。- :home
- cls
- @echo off&setlocal enabledelayedexpansion
- for %%a in (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 (
- if exist "%%a:\sources\install.wim" (
- set/a n+=1&echo !n!, %%a:\sources\install.wim
- set ".!n!=%%a:\sources\install.wim"
- )
- )
- set/p aa=选择:
- for %%a in ("!aa!") do set wim=!.%%~a!
- goto dism
- pause
- exit
- :dism
- cls
- Dism /Get-WimInfo /WimFile:%wim%
- echo.
- echo 找到 %wim% 映像
- echo.
- echo [1] 提取镜像1到C盘
- echo.
- echo [2] 提取镜像2到C盘
- echo.
- echo [3] 提取镜像3到C盘
- echo.
- echo [4] 提取镜像4到C盘
- echo.
- echo [5] 提取镜像5到C盘
- echo.
- echo [6] 返回主菜单
- echo.
- SET /P ST=请选择要运行的程序:
- echo.
- if /I "%ST%"=="1" goto s1
- if /I "%ST%"=="2" goto s2
- if /I "%ST%"=="3" goto s3
- if /I "%ST%"=="4" goto s4
- if /I "%ST%"=="5" goto s5
- if /I "%ST%"=="6" goto home
-
- echo 输入错误,请重新输入...
- pause>nul
- goto dism
-
- :s1
- del /q c:\install.wim 2>nul
- imagex /export "%wim%" 1 c:\install.wim
- echo 提取镜像1完成
- pause>nul
- goto home
-
- :s2
- del /q c:\install.wim 2>nul
- imagex /export "%wim%" 2 c:\install.wim
- echo 提取镜像2完成
- pause>nul
- goto home
-
- :s3
- del /q c:\install.wim 2>nul
- imagex /export "%wim%" 3 c:\install.wim
- echo 提取镜像3完成
- pause>nul
- goto home
-
- :s4
- del /q c:\install.wim 2>nul
- imagex /export "%wim%" 4 c:\install.wim
- echo 提取镜像4完成
- pause>nul
- goto home
-
- :s5
- del /q c:\install.wim 2>nul
- imagex /export "%wim%" 5 c:\install.wim
- echo 提取镜像5完成
- pause>nul
- goto home
复制代码 再下面的问题就是我输入6之后返回主菜单 之前搜索出来的路径数会累计增加 第一次是 1,2 返回之后变成3,4 再有就是如果有两个install.wim在1和2路径下 并没有3路径 我如果输入3之后 会出现错误 这个怎么解决? |