检测USB驱动器并将驱动器号放入批处理文件中的变量中

时间:2016-04-20 19:11:54

标签: batch-file

我正在编写一个批处理文件,用于复制插入的所有可移动驱动器中与某个磁盘标签匹配的文件。在这种情况下,“视频”......

现有代码只显示检测到的驱动器,并要求用户自行输入驱动器号。

它应该永远不会超过4个驱动器,但如果检测到超过4个,则应显示错误。

问题:如何自动设置disk1,disk2,disk3,disk4而不是强制用户执行此操作?

现有代码:

echo Here are the drive letters of VIDEO cards  inserted:
for /f %%D in ('wmic volume get DriveLetter^, Label ^| find "VIDEO"') do echo/|set /p ="%%D   "
set "drive1="
if "%drive1%"=="" if %Cards% geq 1 set /p drive1= What is the FIRST video drive letter (example: d:): 
set "drive2="
if "%drive2%"=="" if %Cards% geq 2 set /p drive2= What is the SECOND video drive letter (example: d:): 
...etc..

2 个答案:

答案 0 :(得分:2)

几乎就在那里。只需设置变量而不是id构造并实现计数器:

echo/|set /p

答案 1 :(得分:0)

我有一个批处理文件可以做同样的事情。这是代码的一部分:

read()

所以在插入F的驱动器中:/我有一个名为“hold.txt”的文本文件,在文件中我只是在文本文件中键入了“true”。如果你了解批处理和@echo off set yes=true >nul find "%yes%" F:\hold.txt && ( echo F:/ exists ) || ( echo F:/ does not exist ) pause 命令,你就会明白为什么会这样。它找到文件和文本字符串,并告诉程序在上面第四行代码中打印“F:\ exists”。希望这有帮助!