317) OSの判定について れしぴ 2002/05/20(月) 12:05 |
|
れそぴです。 バッチファイル中でOSの判定をしたいのですが、WIN9x系だとうまくいきません。 したいのは 「WinNT系の時だけ処理をしない」 という単純なものです。 試行したバッチファイルは if %os%==Windows_NT goto fin chkdsk c: :fin exit です。 %OS%がNT系のみの環境変数になるためWin9x系では上記の文が if ==Windows_NT goto fin と実行されてしまうようで、文法が違いますと言われてしまいます。 何かいい方法ないでしょうか? れしぴ |
|
318) Re:OSの判定について:というか環境変数の参照について SYSOP 2002/05/20(月) 14:38 |
|
れしぴさん >if %os%==Windows_NT goto fin http://fpcu.on.coocan.jp/dosvcmd/batch.htm#if ……のページにも解説してありますが、if なんとか==かんとか の構文では、比較する左辺と右辺に同一の文字をあらかじめ加えておくのがセオリーになっています。 IF %OS%.==Windows_NT .... IF "%OS%"=="Windows_NT"..... IF %OS%$==Windows_NT$ ..... ……など、指定する文字はなんでも(というと語弊があるけれど)かまわないんですが、とにかくOSの判定に限らず、これをやっておかないと、ご質問のように %xxx% の内容がカラであった場合(その環境変数が定義されていなかった場合)に構文エラーになります。 YanaKen |
|
321) Re2:OSの判定について:というか環境変数の参照について れしぴ 2002/05/20(月) 16:57 |
|
れしぴです。 >比較する左辺と右辺に同一の文字をあらかじめ加えておくのがセオリーになっています。 なるほどー。 左辺と右辺に何か意味不明な文字が付加されたものを見たことがあります。 いままでなんだろう?って思っていたのですがそういうことだったんですね。 自分でやってみないとわかんないですね。 ありがとうございました。 れしぴ |