次の操作を行うバッチファイルを作成します。実行中のOSがWindowsであるかどうかを確認します。それよりも大きければ、Hello. Im win 10
を印刷してください。条件がある場合、どうすればいいですか?バッチファイル:OSがWindows 10であることを確認してください。
擬似コード:
if OS == Win10 then
echo Hello im win 10
else
echo I am another os
次の操作を行うバッチファイルを作成します。実行中のOSがWindowsであるかどうかを確認します。それよりも大きければ、Hello. Im win 10
を印刷してください。条件がある場合、どうすればいいですか?バッチファイル:OSがWindows 10であることを確認してください。
擬似コード:
if OS == Win10 then
echo Hello im win 10
else
echo I am another os
setlocal
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j
if "%version%" == "6.3" echo Windows 8.1
if "%version%" == "6.2" echo Windows 8.
if "%version%" == "6.1" echo Windows 7.
if "%version%" == "6.0" echo Windows Vista.
if "%version%" == "10.0" echo Windows 10.
echo %version%
rem etc etc
endlocal
あなたはそれがもう少し詳しいたい場合:
for /f "tokens=2 delims=," %%i in ('wmic os get caption^,version /format:csv') do set os=%%i
echo Hello, I am %os%
またはちょうどあなたの要件満たすために:
for /f "tokens=2 delims=," %%i in ('wmic os get caption^,version /format:csv') do set os=%%i
echo %os%|find " 10 ">nul &&echo Hello I'm Windows 10||echo I am another os
(,version
性を保証します、あなたの望むstr最後のトークンではありません。これには醜いワーム行が含まれています)
この方法は、Windows XP Professionalでも機能します.Windows XP Professionalは、現在、Microsoftによってサポートされていません。しかし、コマンド 'ver'の出力を使用するのと比較して、' wmic'は常に1秒以上が必要です。 – Mofi
ありがとうございます。これは私が必要としていたものです –
この方法は、Windows XPでは 'ver'が' Microsoft Windows XP [バージョン5.1.2600] 'を出力し、' [Version.5'が変数 'VERSION'に割り当てられているので動作しません。しかし、[Martin Rezyne](http://stackoverflow.com/users/2357522/martin-rezyne)の質問によると、オペレーティングシステムがWindows 10であるかどうかを確認するためだけに機能します。 – Mofi
@Mofi - %VERSION%の値は「10.0」ではないので、Windows 10を実行しているかどうかを確認するのに使うことができます。実際のバージョンの取得には役立ちませんが、そうではありません何を求めているのか。 – SomethingDark