OSバージョンを取得したいことがありますよね。
Windowsシステム情報に含まれており、コマンドで表示させることができます。
そこで、OSバージョンを含む情報をコマンドで表示、バッチでファイル出力する方法をご紹介します。
サンプルコード形式です。
ただ表示させるだけのものから、テキスト出力まで、いくつかやってみたいと思います。
それでは、さっそく見ていきましょう!
コマンドでシステム情報とOSバージョンを表示する
OSバージョンはシステム情報に含まれています。
コマンドプロンプトからsysteminfo
を実行してください。
システム情報が出力されます。
その中にはOS名、OSバージョンが含まれています。
このように、コマンドからシステム情報とOSバージョンを表示させることができます。
バッチでシステム情報とOSバージョンを表示する
次は、同じことをバッチファイルからダブルクリックで実行できるようにしてみましょう。
バッチファイルを作成し、次を記述してください。capture_system-info.bat
としました。
ファイル名は分かる名前なら何でもOKです。
@echo off
REM システム情報を表示
systeminfo
pause
実行するとこのようになります。
先ほどと同様の結果が表示されます。
バッチファイル化することで、コマンド覚えておかずとも実行できるようになります。
また、簡単に他の方に渡すこともできて便利です。
バッチでシステム情報とOSバージョンをホスト名でファイル出力する
次は、バッチファイルからテキストファイルとしてファイル出力させてみましょう。
ホスト名をファイル名にしてみます。
同様にバッチファイルを作成し、次を記述してください。
@echo off
setlocal
REM ホスト名を取得
for /f "tokens=*" %%a in ('hostname') do set hostname=%%a
REM ホスト名をファイル名としてsysteminfoの結果を一時ファイルに書き込む
systeminfo > "%hostname%.txt"
endlocal
pause
export_host-info.bat
として実行した結果がこちらです。
バッチファイルの下にテキストファイルが出力されました。
ファイル名がホスト名になっていまして、下の例では一応マスクしています。
テキストファイルを開くとこのようになっています。
たしかに同じ内容をファイル出力することができました。
バッチでシステム情報とOSバージョンをタイムスタンプ名でファイル出力する
次は、同様にテキスト出力するのですが、ファイル名を変えてみます。
タイムスタンプでやってみましょう。
@echo off
setlocal
REM 現在の日付と時刻からタイムスタンプを生成
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set "datetime=%%I"
set "timestamp=%datetime:~0,4%%datetime:~4,2%%datetime:~6,2%_%datetime:~8,2%%datetime:~10,2%"
REM タイムスタンプをファイル名としてシステム情報を出力
systeminfo > "%timestamp%.txt"
endlocal
pause
実行するとこのようになります。
タイムスタンプ形式でテキスト出力することができました。
テキストの中身は同じなので割愛します。
これでOSバージョンとシステム情報をコマンドとバッチ(bat)を使って表示・出力させることができました。
あえて表示させたいだけのこともあるでしょうし、
例えば各ユーザーにテキストファイル出力させてメールで送ってもらう、ということもあるでしょう。
今回のサンプルコードを例に、色々と応用ができると思います。
試してみてはいかがでしょうか。
今回は以上となります。
本記事が少しでもお役に立てれば幸いです。
それでは、読んで頂きありがとうございました!