[前の記事]« [WIN98]引数から一部の文字列を抽出したい
[次の記事]SETコマンド内での%環境変数%の参照方法 »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「SYSTEMINFO,VER…システムやハードウェアの状況取得」索引へ

OS名の取得について

4.
98やMeのOS名の取得について
2004年10月26日(火) 10時46分
maki
●DOS/Windowsのバージョン↓
98,Me

OSが2000の場合にOS名を取得するには、
%OS%とするとWindows_NTとなると思います。
OSが98やMeの場合は、%OS%という変数が定義されていない
ようなので、OS名は取得できないのでしょうか?
やりたいことは、OSによってif文を使って処理を
分岐させたいのです。
%OS%でOSごとに処理を分岐するDOSコマンドを作成しましたが、
98やMeでうまく動きません。
作成したOSごとの処理の分岐のDOSコマンドを
以下に示します。
こちらで行いたい処理は、
OSが2000以外の場合はnet configからコンピュータ名を
取得して、hostnameという変数に格納したいのです。

★作成したOSごとの処理の分岐
if "%OS%"=="Windows_NT" goto WINNT
:WINNT
  goto IFEND
:WIN9X
  if "%1"=="next" goto next
  echo set hostname=%%1 > コンピュータ名.bat
  echo %0 next >> コンピュータ名.bat
  net config | find "コンピュータ名" > tmp.bat
  tmp.bat
  :next
:IFEND
5.
Re:98やMeのOS名の取得について
2004年10月26日(火) 12時33分
YanaKen
makiさん こんにちは。

>OSが2000以外の場合はnet configからコンピュータ名を取得して、

 2000というか「NT系とそれ以外」ということですよね。端的には、
>if "%OS%"=="Windows_NT" goto WINNT
 実用上は「環境変数"OS"が定義されていない場合は95系」と考えてよい環境なのでしょうから、

if not "%OS%"=="Windows_NT" goto WINNT
:WIN9X
(以下略)
:WINNT
 ……のように変更すれば問題なく稼動しそうに思われます。

 関連の過去ログを紹介します。
http://fpcu.on.coocan.jp/dosvcmd/bbs/log/systeminfover/1-0688.html
http://fpcu.on.coocan.jp/dosvcmd/bbs/log/systeminfover/3-0539.html

YanaKen
12.
Re2:98やMeのOS名の取得について
2004年10月26日(火) 19時21分
YanaKen
訂正(^^;。

>if not "%OS%"=="Windows_NT" goto WINNT
 ↑後半の順序を並べ替えてあるので、notは不要でした。

>:WIN9X
>(以下略)
>:WINNT

YanaKen
 
 


カテゴリー「SYSTEMINFO,VER…システムやハードウェアの状況取得」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年10月26日 15:27に投稿されたエントリーのページです。

ひとつ前の投稿は「[WIN98]引数から一部の文字列を抽出したい」です。

次の投稿は「SETコマンド内での%環境変数%の参照方法」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート