これは、必要なほとんどすべてを実行するバッチ スクリプトです。
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歳だとは知りませんでした。後世と答えを探している人のために私の答えを残すつもりです。