如何编写Bat脚本实现从CD/DVD驱动器自动创建ISO镜像文件
批处理合并实现方案
完全可以将两段逻辑合并实现自动从DVD生成ISO的需求,以下是完整实现方案:
完整可运行代码
@echo off setlocal enabledelayedexpansion :: 初始化DVD盘符变量 set "dvd_drive=" :: 遍历所有逻辑磁盘识别DVD驱动器(drivetype=5对应CD/DVD驱动器) for /f "skip=1 tokens=1,2" %%i in ('wmic logicaldisk get caption^, drivetype 2^>nul') do ( if [%%j]==[5] ( set "dvd_drive=%%i\" :: 若设备存在多个DVD驱动器,只需取第一个识别到的可去掉下行的rem注释 rem goto :found_drive ) ) :found_drive :: 未识别到DVD驱动器的异常处理 if not defined dvd_drive ( echo 错误:未检测到CD/DVD驱动器,请检查光盘是否放入、驱动器连接正常后重试 pause exit /b 1 ) echo 已识别到DVD驱动器:%dvd_drive% :: 执行ISO生成命令,若cdbxpcmd.exe未加入系统环境变量,请替换为完整安装路径,例如: :: "C:\Program Files\CDBurnerXP\cdbxpcmd.exe" --burn-data -folder:%dvd_drive% -iso:C:\donalds.iso -format:iso cdbxpcmd.exe --burn-data -folder:%dvd_drive% -iso:C:\donalds.iso -format:iso :: 执行结果判断 if %errorlevel% equ 0 ( echo 操作成功,ISO文件已保存至:C:\donalds.iso ) else ( echo 操作失败,请检查光盘是否可读取、命令参数配置是否正确 ) pause endlocal
关键调整说明
- 保留了你原有的WMIC盘符识别逻辑,识别到DVD盘符后自动拼接路径分隔符
\,匹配cdbxpcmd的参数格式要求 - 新增了异常判断逻辑,未识别到DVD驱动器时会直接提示报错,避免执行无效命令
- 新增了执行结果状态判断,方便快速定位问题
使用注意事项
- 若运行脚本提示找不到
cdbxpcmd.exe,请将脚本中对应的命令替换为CDBurnerXP安装目录下的cdbxpcmd.exe完整路径,路径包含空格时需要用英文双引号包裹 - 若需要将ISO输出到桌面避免C盘权限问题,可以将输出路径修改为
%USERPROFILE%\Desktop\donalds.iso - 若设备有多个DVD驱动器,默认取最后一个识别到的盘符,需要取第一个的话按照代码注释修改即可
内容的提问来源于stack exchange,提问作者kukumables
相关产品推荐
相关产品推荐

