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


1

如何让此批处理文件读取所有物理和映射驱动器?它适用于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

它必须是一个 .bat 批处理文件,或者它可以是 .ps PowerShell文件? (您将Windows 7列为操作系统,Powershell是Windows 7的标准配置。就像 cmd.exe 关于类固醇)
Darth Android

'接受它是合法的!
RookieTEC9

Answers:


2

没有变量只是携带所有映射的字母。

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

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 ))

(玩输出)

......如果不可行,你将不得不通过它们全部爆炸,即:

for %% i in(C D E F G H I J K L M N O P Q R S T U V W X Y Z)DO @if exists %% i:@echo %% i:

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

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


0

if exist %%i :并不总是有效。所以你也可以用这种方式检查你的驱动器:

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

希望这可以帮助


也许我的帖子应该作为对@solemnity答案的评论而移动
Jiab77
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.