Batch file diskpart和批处理文件

Batch file diskpart和批处理文件,batch-file,dism,Batch File,Dism,我正在尝试自动化一些DISM过程 从USB启动winpe后,有时驱动器号会发生变化,因此我需要构建一个显示不同卷的批处理文件,以便用户可以为DISMcapture image命令选择驱动器号 我没有.bat编程的经验,所以这是我所拥有的,并且不起作用,但我正在发布代码,以便您能给我更好的建议 文件名:Golden.bat diskpart *After this command the program breaks* list vol exit @ech

我正在尝试自动化一些
DISM
过程

从USB启动
winpe
后,有时驱动器号会发生变化,因此我需要构建一个显示不同卷的批处理文件,以便用户可以为
DISM
capture image命令选择驱动器号

我没有.bat编程的经验,所以这是我所拥有的,并且不起作用,但我正在发布代码,以便您能给我更好的建议

文件名:Golden.bat

    diskpart     *After this command the program breaks*
    list vol
    exit

    @echo off     *This part also does not work gives error 3*
    set /p Drive=Escribe la letra del Drive destino para la Imagen Golden:
    if "%Drive%"=="" goto :FIN

    Dism /Capture-Image /ImageFile:"%Drive%"":\Golden\Golden.wim" /CaptureDir:C:\ /Name:Golden
    :FIN

   @echo on

   echo Fin del Proceso de Captura de Imagen Golden!

大家好,谢谢你们的回复,我想出了一个解决方案,非常基本,希望你们能帮助我改进de代码。 我已经创建了3个文件 Golden.bat,listvol.txt,creaimagen.bat 这是代码





您执行
diskpart
,并且只有当它完成时,解析器才会尝试执行下一行
list vol
-并失败,因为
list
不是有效的
cmd
命令。有关如何使用命令馈送
diskpart
,请参阅。您介意使用标点符号吗?这会使你的描述更容易阅读。。。
Golden.bat

@echo off
diskpart /s listvol.txt
call creaimagen.bat
listvol.txt

select disk 0 
list vol
exit
creaimagen.bat

@echo off
set /p Drive=Escribe la letra del Drive destino para la Imagen Golden:
if "%Drive%"=="" goto :FIN
SET preruta = 
SET ruta = %Drive%%preruta%
@Echo Off
Setlocal
(Set preruta=:\Golden\Golden.wim)
(Set two=%Drive%)
(Set three=%two%%preruta%)
Echo/%%three%%=%three%

dism /Capture-Image /imagefile:%three% /capturedir:C:\ /name:Golden
:FIN
echo Fin del Proceso de Captura de Imagen Golden!
pause