微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

批处理脚本查找挂载设备的驱动器号

我正在尝试编写批处理脚本来查找特定的挂载设备。 我在Windows 7中。

我知道该设备将有文件夹驱动器:习惯所以我想看看所有possabilitiesfind一个设备与这条path

这是我到目前为止

@echo off setLocal Enabledelayedexpansion for %%d in (cdefghijklmnopqrstuvw xyz) do ( if exist %%d:custom ( ECHO Device Found : %%d ) )

这不工作,它认为它存在每个驱动器号..所以我看到“设备find”每个单个驱动器号。 这是为什么? 我是否在谈论这个错误? 如何find根目录上具有“自定义文件夹的驱动器号?

打开一个文件并等待它退出/退出,然后继续batch file

如何在使用netcat时根据请求有条件地做出响应

在特定驱动器的Windows中的磁盘大小

Windows命令:如何使用chdir将当前目录推入以后popup?

如何从Windows Batch子例程调用SCons?

谢谢,

斯蒂芬妮

如何合并两个批处理脚本,将它们放到一个batch file中,并按降序运行

文件输出存储到variables中

Windows批处理:date格式variables打印不正确

batch file命令在新窗口中打开不同的命令

从Windows执行远程.sh文件

在路径的末尾添加

IF EXIST %%d:custom (...)

在for语句中使用fsutil fsinfo drives for而不是驱动器号的静态列表。

for /f "tokens=1,*" %%i in ('fsutil fsinfo drives') do ( :: work with %%j here )

但是,如果将驱动器号发送给没有介质的设备,则可能仍会出现错误。 无论哪种方式,检查如:

if not exist O: @echo test

对我来说工作得很好(有和没有)。 驱动器在我的系统上不存在,所以没有被删除时没有输出

有点复杂,但这是避免在Win7上阻止错误的唯一解决方案:

for /f "tokens=3" %%d in ('echo LIST Volume ^| disKPART ^| findstr "Healthy Unusable"') do ( if exist %%d:custom echo Device found )

我发现另一种方法是使用vol命令+检查ERRORLEVEL (如果== 1驱动器未安装):

for /f "tokens=3" %%d in ('echo LIST Volume ^| disKPART ^| findstr "Healthy Unusable"') do ( vol %%d: if !ERRORLEVEL!==0 if exist %%d:custom echo Device found )

注:在WinXP disKPART将不会看到可移动驱动器…

@ECHO OFF :CICLO CLS&ECHO.&ECHO VER ESTADO UNIDADES CON WMIC SET "DVF=" FOR /F "tokens=1,*" %%A IN ('wmic logicaldisk get caption^,description ^| FIND ":"') DO ( VOL %%A >nul 2>&1 && ( CALL SET "DVF=%%DVF%% %%A"& ECHO %%A ^| ON. %%B) || ( ECHO %%A ^| OFF. %%B ) ) ECHO DEVICEFOUND: %DVF% TIMEOUT /T 5 >NUL GOTO:CICLO

尝试这个:

if exist %%d:nul ( echo Device found %%d )

这适用于硬盘和pendrive:

@echo off for %%? in (cdefghijklmnopqrstuvw xyz) do ( dir %%?: > nul 2>nul if exist %%?:custom echo Device found(s): %%?: )

PS:运行WinXP

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐