Loops USB驱动器字母查找器
我有一个脚本,它检查某个USB,然后在上面打开一个文件。但是,现在我只需要检查插入的USB驱动器号。然而,我真的不知道如何做到这一点,网上搜索结果对我毫无帮助。 这是我现在的脚本:Loops USB驱动器字母查找器,loops,batch-file,Loops,Batch File,我有一个脚本,它检查某个USB,然后在上面打开一个文件。但是,现在我只需要检查插入的USB驱动器号。然而,我真的不知道如何做到这一点,网上搜索结果对我毫无帮助。 这是我现在的脚本: @echo off :loop if exist D:\ (goto Load) else (goto loop) :Load D: start Loader1.exe goto Finish :Finish exit 以下是如何从任何驱动器获取USB驱动器号: @echo off for /F "useba
@echo off
:loop
if exist D:\ (goto Load) else (goto loop)
:Load
D:
start Loader1.exe
goto Finish
:Finish
exit
以下是如何从任何驱动器获取USB驱动器号:
@echo off
for /F "usebackq tokens=1,2,3,4 " %%i in (`wmic logicaldisk get caption^,description^,drivetype 2^>NUL`) do (
if %%l equ 2 ( echo %%i is a USB drive. )
)
答案不是我从@scientist_7中得到的复制品。你是在看这样的东西吗
这将仅接管可移动磁盘上的任务,并将为每个任务指定相关的逻辑名称,以检查您的文件Loader1.exe是否存在,以便采取下一步操作
- :
WMIC logicaldisk中
驱动器类型的值含义
0未知
1没有根目录
2可移动磁盘
3本地磁盘
4网络驱动器
5光盘
6 RAM磁盘
wmic logicaldisk获取标题,驱动器类型|查找“2”
此结果是可移动磁盘:
D:2
E:2
F:2
G:2
- 标题=D:
- 驱动器类型=可移动磁盘=2
之后,并确保存在
Loader1.exe
文件以启动/运行命令:
驱动程序:\Loader1.exe
最后一部分,执行下一个循环的超时(1分钟):
timeout 60>num&&goto:loop
@echo关闭
:循环
对于(“'wmic logicaldisk get caption,drivetype | find“2”“”)中的/f%%i,如果存在,请执行“%%~i\Loader1.exe”(
cd/d%%~i\&start。\Loader1.exe&&goto:Finish)
超时60>nul和goto:循环)
:完成
::或::
@echo关闭
设置“\u cd=%cd%”和标题nul&goto:循环(&T)
您的代码不检查特定的USB,它只检查分配给D:
的已安装驱动器。我不确定您是否知道,但出于安全考虑,Microsoft禁用了自动运行可移动磁盘。出于这个原因,我建议您在脚本中构建一些安全性,以便它只在特定设备上运行,而不是在任何设备上运行。本网站的目的是在代码的特定问题上寻求帮助。然而,您的代码并没有出现问题,所以您的请求代码在这里是离题的。请搜索并编写一些代码,以便我们为您提供帮助,谢谢。虽然许多USB存储设备显示为可移动(DriveType 2),但这肯定不可靠。虽然许多USB存储设备显示为可移动(DriveType 2),但这肯定不可靠。当然,但只有一个具有文件Loader1.exe!?嗯,我想我们可以这样假设,但是如果特定的USB存储设备没有将自己标识为可移动驱动器(DriveType 2),并且我们无法控制它,那么它将无法找到要启动的设备。