Batch file 检测USB驱动器并将驱动器号放入批处理文件中的变量
我正在编写一个批处理文件,该文件复制插入的所有可移动驱动器中与特定磁盘标签匹配的文件。在这种情况下,“视频” 现有代码只显示检测到的驱动器,并要求用户自己输入驱动器号 它不应超过4个驱动器,但如果检测到超过4个驱动器,则应显示错误 问题:如何自动设置disk1、disk2、disk3、disk4,而不是强制用户这样做 现行守则:Batch file 检测USB驱动器并将驱动器号放入批处理文件中的变量,batch-file,Batch File,我正在编写一个批处理文件,该文件复制插入的所有可移动驱动器中与特定磁盘标签匹配的文件。在这种情况下,“视频” 现有代码只显示检测到的驱动器,并要求用户自己输入驱动器号 它不应超过4个驱动器,但如果检测到超过4个驱动器,则应显示错误 问题:如何自动设置disk1、disk2、disk3、disk4,而不是强制用户这样做 现行守则: echo Here are the drive letters of VIDEO cards inserted: for /f %%D in ('wmic volum
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..
快到了。只需设置变量而不是
echo/| set/p
构造并实现计数器:
@echo off
setlocal enabledelayedexpansion
set count=0
for /f %%D in ('wmic volume get DriveLetter^, Label ^| find /i "Video"') do (
set /a count+=1
set drive!count!=%%D
)
echo %count% drives found:
set drive 2>nul
if %count% gtr 4 echo too much...
我有一个批处理文件,做同样的事情。下面是代码的一部分:
@echo off
set yes=true
>nul find "%yes%" F:\hold.txt && (
echo F:/ exists
) || (
echo F:/ does not exist
)
pause
因此,在插入F:/I的驱动器中,我有一个名为“hold.txt”的文本文件,在该文件中,我只在文本文件中键入了“true”。如果您了解批处理和FIND
命令,您就会明白这是为什么。它找到文件和文本字符串,并告诉程序在上面代码的第四行打印“F:\exists”。希望这有帮助