我正在尝试编写批处理脚本来查找特定的挂载设备。 我在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中,并按降序运行
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
对我来说工作得很好(有和没有)。 驱动器在我的系统上不存在,所以没有被删除时没有输出。
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] 举报,一经查实,本站将立刻删除。