Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 检测USB驱动器并将驱动器号放入批处理文件中的变量_Batch File - Fatal编程技术网

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

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

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

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

它不应超过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..

快到了。只需设置变量而不是
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”。希望这有帮助