这里是一个批处理脚本,做几乎所有你所需要的一切。
Checkdisk将针对任何本地固定驱动器运行。您可以让它在新窗口中运行(chkdskAsync=true
)或使其在程序中运行(chkdskAsync=false
)。另外,使用chkdskLaunchArguments=
变量指定chkdsk标志。
@ECHO OFF
CLS
SETLOCAL ENABLEDELAYEDEXPANSION
:: Use these lines to specify how CHKDSK and Notepad will run
:: ===============================================
SET chkdskLaunchArguments=/F /R
SET chkdskAsync=true
SET launchNotepad=true
:: ===============================================
COPY /Y NUL C:\Users\public\data.txt >nul 2>&1
ECHO Getting drive(s) information
FOR /F "tokens=*" %%A IN ('wmic logicaldisk get caption^, description^, providername^, volumename') DO (
ECHO.%%A>>C:\Users\public\data.txt
)
FOR /F "tokens=1,2 skip=1" %%A IN ('wmic logicaldisk get caption^, drivetype') DO (
IF %%B EQU 3 (
IF "!chkdskAsync!" EQU "true" (
START CMD /C CHKDSK %%A %chkdskLaunchArguments%
) ELSE (
CHKDSK %%A %chkdskLaunchArguments%
)
)
)
ECHO Getting resolution information
FOR /F "tokens=*" %%A IN ('wmic path Win32_VideoController get CurrentHorizontalResolution^,CurrentVerticalResolution') DO (
ECHO.%%A>>C:\Users\public\data.txt
)
ECHO Information gathered ... saved to C:\Users\public\data.txt
ECHO Showing results.
IF "!launchNotepad!" EQU "true" (
START /WAIT notepad.exe /A C:\Users\public\data.txt
)
ENDLOCAL
EXIT
当它完成后,它将所有内容保存到C:\Users\Public\data.txt
。它还将在记事本中启动文件(如果launchNotepad=true
设置为... true)。
输出看起来像这样:
Caption Description ProviderName VolumeName
A: Network Connection \\somefileserver.domain\ New Volume
C: Local Fixed Disk
E: Removable Disk someuser Drive
H: Network Connection \\somefileserver.domain\users$\someuser Data Share and User Home Dirs
P: Network Connection \\somefileserver.domain\Data Data Share and User Home Dirs
S: Network Connection \\somefileserver.domain\share
CurrentHorizontalResolution CurrentVerticalResolution
1920 1080
注:确保运行此为管理员。 如果你想chkdsk运行
不幸的是,没有办法抓住存储以外的所有USB设备。希望这可以帮助!
我没有意识到这个问题是4岁。去留下我的答案为后人和任何人挖掘答案。
好的第一步是告诉我们这些错误是什么。 – hammar
使用批处理脚本检测闪存驱动器并非易事。我尝试了很多次,从未真正成功过。我想说,这是一个简单的问题,超出了帮助的范围。 – djangofan
“检查显示像素”=获取当前的显示分辨率? – meatspace