如何在 MS WIndows 7 中通过批处理文件检测 DVD 驱动器号?
我的意思是,我需要知道 DVD 可以分配字母 D 或 E...
有脚本可以做到这一点吗?
答案1
我需要知道 DVD 可以分配字母 D 或 E
wmic
将向您提供此信息。
示例输出:
F:\test>wmic logicaldisk get deviceid, drivetype
DeviceID DriveType
C: 3
D: 5
E: 2
F: 3
笔记:
DriveType Meaning
1 No root directory
2 Removable drive
3 Local hard disk
4 Network disk
5 Compact disk
6 RAM disk
以下批处理文件将输出 DVD/CD 驱动器的驱动器号 (GetCD.cmd):
@echo off
setlocal
for /f "skip=1 tokens=1,2" %%i in ('wmic logicaldisk get caption^, drivetype') do (
if [%%j]==[5] echo %%i
)
endlocal
示例输出:
F:\test>GetCD
D:
F:\test>
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 对于/f- 循环命令以执行另一个命令的结果。
- 西米克- Windows Management Instrumentation 命令。示例输出:
笔记:
答案2
好的。我使用此代码找到了解决方案
@echo off
cd /d "%~dp0"
cls
echo Your %~d0 drive.
cd %~d0
dir
cd temp
pause
答案3
我找到了另一个选项,寻找预定义的文件。
对于 (CDEFGHIJKLMNOPQRSYZ) 中的 %%i 执行 (
if exist %%i:\sources\boot.wim call :MEDIA %%i
)
:媒体
设置驱动器=%1:\
echo 设置驱动器=%1:\
答案4
for /f eol^=^/^ ^usebackq^ ^tokens^=4*^ ^delims^=^<^> %# in =;(` wmic.exe logicaldisk where drivetype^=5 get deviceid /format:xml ^| find "VALUE"`);= do @for /f eol^=^/^ ^usebackq^ ^tokens^=4*^ ^delims^=^<^> %@ in =;(`wmic.exe cdrom get volumename /format:xml ^| find "VALUE" `);= do @echo/DeviceID=%# VolumeName=%@
echo off
for /f eol^=^/^ ^usebackq^ ^tokens^=4*^ ^delims^=^<^> %%# in =;(`
wmic.exe logicaldisk where drivetype^=5 get deviceid /format:xml ^| find "VALUE"
`);= do for /f eol^=^/^ ^usebackq^ ^tokens^=4*^ ^delims^=^<^> %%@ in =;(`
wmic.exe cdrom get volumename /format:xml ^| find "VALUE" ^| more
`);= do echo/DeviceID=%%# VolumeName=%%@
- 结果/输出:
DeviceID=D: VolumeName=FINDING_NEMO