如何制作批处理文件来搜索所有驱动器?

如何制作批处理文件来搜索所有驱动器?

如何让此批处理文件读取所有物理驱动器和映射驱动器?它对 C: 运行良好,但无法读取任何其他驱动器。

@echo off
set filePath=
for /R c:\ /d %%a in (*) do if exist "%%a\FileName" set filePath=%%a& goto continue
:continue
if defined filePath echo %COMPUTERNAME% %username% yes >> \\server\%computername%.txt

答案1

没有任何变量可以简单地携带所有映射的字母。

如果你以管理员身份运行,

fsutil fsinfo 驱动器

返回所有此类驱动器 - 代码示例:

FOR /F "usebackq tokens=1" %%a IN (`MOUNTVOL ^| FIND ":\"`) DO (FOR /F "usebackq tokens=3" %%b IN (`FSUTIL FSINFO DRIVETYPE %%a`) DO (IF /I "%%b" EQU "Removable" ECHO %%a ))

(玩转输出)

...如果不可行,你就必须把它们全部解决掉,即:

对于 (CDEFGHIJKLMNOPQRSTUVW XYZ) 中的 %%i,DO @if 存在 %%i: @echo %%i:

(可能应该省略预期的光驱/存储卡驱动器号)。

VBS 脚本或 Powershell 是此类事情的理想选择。

答案2

if exist %%i:并不总是有效。因此,您也可以使用以下方式检查驱动器:

(dir %%i:>NUL) && (
  echo Drive [%%i]: exist
) || (
  echo Drive [%%i]: NOT exist
)

希望这可以帮助

相关内容