如何在多个驱动器中查找特定文件?批
How do I find a specific file in multiple drives? Batch
所以我正在制作一个安装程序,它安装在一个位于多个驱动器之一的特定文件中,该文件可以在任何驱动器中(C:\、E:\、D:\ 等) .).例如:我想在 E:\KNXC 中安装 ZK47,但我希望系统自动查找文件 KNX 而无需转到 E:\ 且无需用户输入。
查看所有硬盘(Mediatype=12)文件夹是否存在:
for /f "tokens=2 delims==:" %%i in ('wmic logicaldisk where mediatype^=12 get caption /value') do if exist %%i:\KNXC echo found on drive: %%i:
for /f %%i in ('command') do ...
是处理命令输出的常用方法。
wmic logicaldisk get caption
列出所有现有的驱动器号。
where mediatype=12
告诉它只列出硬盘(在 for
结构中你必须使用脱字符 ^
转义 =
)。
/value
定义输出格式。
"normally" 您将使用 "tokens=2 delims=="
来获取 =
(C:
) 之后的字符串。通过使用 :
作为附加分隔符,我避免处理 wmic.
的丑陋行尾
所以我正在制作一个安装程序,它安装在一个位于多个驱动器之一的特定文件中,该文件可以在任何驱动器中(C:\、E:\、D:\ 等) .).例如:我想在 E:\KNXC 中安装 ZK47,但我希望系统自动查找文件 KNX 而无需转到 E:\ 且无需用户输入。
查看所有硬盘(Mediatype=12)文件夹是否存在:
for /f "tokens=2 delims==:" %%i in ('wmic logicaldisk where mediatype^=12 get caption /value') do if exist %%i:\KNXC echo found on drive: %%i:
for /f %%i in ('command') do ...
是处理命令输出的常用方法。
wmic logicaldisk get caption
列出所有现有的驱动器号。
where mediatype=12
告诉它只列出硬盘(在 for
结构中你必须使用脱字符 ^
转义 =
)。
/value
定义输出格式。
"normally" 您将使用 "tokens=2 delims=="
来获取 =
(C:
) 之后的字符串。通过使用 :
作为附加分隔符,我避免处理 wmic.