我不是一个真正的程序员 . 我是新手 .
你能帮助我一个Windows批处理文件,它将运行计算机测试吗?
-
检测任何硬盘驱动器然后在它们上运行chkdisk
-
检测任何USB端口
-
检测电脑中的任何闪存驱动器插头
-
检查显示像素
我已经开始用它来检测USB,但不知何故得到了一些错误
@echo off
setlocal EnableDelayedExpansion
set PNPDeviceID=4002FDCCE0E4D094
set Q='wmic diskdrive where "interfacetype='USB' and PNPDeviceID like '%%%PNPDeviceID%%%'" assoc /assocclass:Win32_DiskDriveToDiskPartition'
echo %Q%
for /f "tokens=2,3,4,5 delims=,= " %%a in (%Q%) do (
set hd=%%a %%b, %%c %%d
call :_LIST_LETTER !hd!)
goto :_END
:_LIST_LETTER
(echo %1 |find "Disk ") >nul|| goto :_EOF
for /f "tokens=3 delims==" %%a in ('WMIC Path Win32_LogicalDiskToPartition ^|find %1') do set TMP_letter=%%a
set Part_letter=%TMP_letter:~1,2%
echo %Part_letter% %1
goto :_EOF
:_END
:_EOF
:: *** end
pause
2 回答
我建议尝试
将每个磁盘检查为一个单独的卷
这是一个批处理脚本,几乎可以完成您所需的一切 .
Checkdisk将针对任何本地固定驱动器运行 . 您可以在新窗口中运行它(
chkdskAsync=true
)或让它在程序内运行(chkdskAsync=false
) . 另外,使用chkdskLaunchArguments=
变量指定chkdsk标志 .完成后,它会将所有内容保存到
C:\Users\Public\data.txt
. 它还将在记事本中启动该文件(如果launchNotepad=true
设置为... true) .输出看起来像这样:
NOTE: 确保以管理员身份运行此命令 . 如果你想要chkdsk运行
不幸的是,没有办法获取除存储之外的所有USB设备 . 希望这可以帮助!
我没有意识到这个问题是4岁 . 要为后代留下我的答案,任何人都在寻找答案 .