|
719) Win95でのコンピュータ名の取得方法 パトレーゼ 2002/09/30(月) 18:26 |
|
WINDOWS95でコンピュータ名を自動的に取得して、バッチの中で参照する方法を教えて下さい。 なるべくなら、フリーソフトを実行させて取得する事をせずに取得できればベストですが、恐らくそんな訳にはいかないような気がします。ソフトを実行させる場合はメモリの負担が軽いのがいいいのですが…。 お奨めの方法を教えてくださいませ。 |
|
720) Re:Win95でのコンピュータ名の取得方法 じゃく 2002/09/30(月) 19:31 |
|
パトレーゼさんこんにちは。 >WINDOWS95でコンピュータ名を自動的に取得して、バッチの中で参照する方法を教えて下さい。 これでどうでしょうか。当方Win95環境が手近にないので、98SEで動作確認しました。(ただしコンピュータ名の先頭に\\がついてしまいます。仕様です^^) -----ファイル名 win95.bat if "%1"=="next" goto next echo set hostname=%%1 > コンピュータ名.bat echo %0 next >> コンピュータ名.bat net config | find "コンピュータ名" > tmp.bat tmp.bat :next echo コンピュータ名は %hostname% です del tmp.bat del コンピュータ名.bat #前回の問い合わせの件はうまくいきましたか? #よかったらおしえてくださいませ。 |
|
728) Re2:Win95でのコンピュータ名の取得方法 リカルド 2002/10/01(火) 17:15 |
|
>#前回の問い合わせの件はうまくいきましたか? >#よかったらおしえてくださいませ。 すいません、コメントをつけずにいて。 今日テストしてみました。(^^; うまくいきました。前回のコメントをつけました。ご覧下さい。 0688.htm 今回のも検討/テスト結果をコメントしますね。 (すこし遅いかもしれませんが…(^^;) |
|
730) Re3:Win95でのコンピュータ名の取得方法 じゃく 2002/10/01(火) 20:03 |
|
こんばんは。 >うまくいきました。前回のコメントをつけました。ご覧下さい。 > >0688.htm 拝見しました。うまくいったようで何よりです。 こちらは結果のほうにコメントします。 >今回のも検討/テスト結果をコメントしますね。 >(すこし遅いかもしれませんが…(^^;) |
|
729) Re2:Win95でのコンピュータ名の取得方法 リカルド 2002/10/01(火) 18:48 |
|
じゃくさん、ありがとうございます。 >これでどうでしょうか。当方Win95環境が手近にないので、98SEで動作確認しました。(ただしコンピュータ名の先頭に\\がついてしまいます。仕様です^^) さっそくテストしてみました。 Win98SEではうまくいきました。 でも、Win95ではうまくいきませんでした。 (3台のWIN95でやってみましたがうまくいきません) このバッチの意味あいを理解している訳ではありませんが… HOSTNAMEに何も入ってこないようです。 何かをすれば、95でもうまくいく筈なんでしょうか? ---------- 何とかできないか?自分でも考えてみます。 しかし、じゃくさんの方法がうまくできれば、 支店にある200台近くのWin95のメンテやメンテの確認が すごく楽になり最高なのですが…(^^;) |
|
731) Re3:Win95でのコンピュータ名の取得方法 じゃく 2002/10/01(火) 20:10 |
|
こんばんは。 >でも、Win95ではうまくいきませんでした。 >(3台のWIN95でやってみましたがうまくいきません) > >このバッチの意味あいを理解している訳ではありませんが… >HOSTNAMEに何も入ってこないようです。 >何かをすれば、95でもうまくいく筈なんでしょうか? Win95のコマンドラインで net config のコマンドを実行したときの出力結果を教えていただけないで しょうか。98SEと出力結果が異なるのかもしれません。 今回のバッチはこの出力結果に依存するので異なるメッセージだと バッチを修正しないといけません。お時間のあるときに調べてみて ください。うまくいけば管理が楽になりますよね。 |
|
734) Re4:Win95でのコンピュータ名の取得方法 パトレーゼ 2002/10/02(水) 11:51 |
|
じゃくさん、レスありがとうございます。 WIN95(2台)とwin98のMS-DOSプロンプトから、 Net config > テキストファイル出力した結果です。 できればこのコンピュータ名を環境変数にSETできれば、 PCが他支店へ移設し、コンピュータ名が変わった場合でも 自動的に取得できるので、台数の多いPC運用上すごく便利になります。 ----Win95のNet config 出力結果--- コンピュータ名 \\xxxxxxx ユーザー名 xxxxxxx ワークグループ xxxxxx ワークステーションのルート ディレクトリ C:\WINDOWS ソフトウェアのバージョン 4.00.950 リダイレクタのバージョン 4.00 コマンドは正常に完了しました。 ----Win98SEのNet config 出力結果--- コンピュータ名 \\xxxxxxx ユーザー名 xxxxxxx ワークグループ xxxxxx ワークステーションのルート ディレクトリC:\WINDOWS ソフトウェアのバージョン 4.10.1998 リダイレクタのバージョン 4.00 コマンドは正常に完了しました。 |
|
736) Re5:Win95でのコンピュータ名の取得方法 じゃく 2002/10/02(水) 12:24 |
|
こんにちは。 >----Win95のNet config 出力結果--- >コンピュータ名 \\xxxxxxx >ユーザー名 xxxxxxx >ワークグループ xxxxxx >ワークステーションのルート ディレクトリ C:\WINDOWS > >ソフトウェアのバージョン 4.00.950 >リダイレクタのバージョン 4.00 >コマンドは正常に完了しました。 なるほど、カタカナが半角なのですね。 ちょっと迷いましたが、これでどうでしょうか。 ---------------------------------------- if "%1"=="next" goto next echo set hostname=%%1 > コンピュータ名.bat echo %0 next >> コンピュータ名.bat copy コンピュータ名.bat コンピュータ名.bat net config | find "コンピュータ名" > tmp.bat net config | find "コンピュータ名" >> tmp.bat tmp.bat :next echo コンピュータ名は %hostname% です del tmp.bat del コンピュータ名.bat del コンピュータ名.bat 動作原理を簡単に説明しておきます。 このバッチは、net config の結果を環境変数に入れるため 少々めんどくさいことをしています。 (NT系ならスマートにできるのですが、9X系なので) まず、コンピュータ名.batというバッチファイルを作ります。 このコンピュータ名.bat では、1つ目の引数を環境変数 hostnameにセットし、現在のバッチに戻る記述がしてあります。 つぎに net config のうち「コンピュータ名」がある行を 取り出し、その1行の内容をバッチファイル(tmp.bat)として 保存します。 そして自分自身の制御をtmp.batへ移行します。 tmp.batではコンピュータ名というコマンドが実行されます。 つまりあらかじめ作成したコンピュータ名.batに制御が移り 環境変数hostname にセットして元のバッチに戻ります。 わかりにくい説明ですが、お役に立てれば幸いです。 うまく動作してくれるか楽しみです。 |
|
754) Re6:Win95でのコンピュータ名の取得方法 パトレーゼ 2002/10/04(金) 19:22 |
|
じゃくさん Win95PCでテストしてみました。 結果は、1台目では環境変数にコンピュータ名がセットされました。 しかし、2台目では「環境変数のための領域が足りません」がでてセットされませんでした。(^^;) せっかく頭をひねっていただいたのに、残念無念です。(^^;) 自分は、環境変数の最大サイズについては、詳しくありませんが… 支店にあるPCのAUTOEXEC.BATの中身は、PCごと違うので、 上記のようにうまくいかないPCもある訳ですよね… (^^;;) --------- このため、自分なりに考えてみました。 各Win95PCのautoexec.batの最終行に、 SET COMPUTERNAME=xxxxxx を固定的に追加しようかな?と 思っています。 これだと、PC移設毎、autoexec.batの中をメンテが必要な方法です。 --------- それで教えて欲しいのですが、じゃくさんの方法と autoexec.batに固定的に追加する方法では 環境変数の消費量は違うのでしょうか? autoexec.batに固定的に追加する方法でも、 「環境変数のための領域が足りません」がでる可能性はあるんでしょうか?(^^;) もし分かれば教えてくださいませ。 お手数かけます。 |
|
778) Re7:Win95でのコンピュータ名の取得方法 じゃく 2002/10/09(水) 09:18 |
|
パトレーゼさん、遅くなりました。 >結果は、1台目では環境変数にコンピュータ名がセットされました。 >しかし、2台目では「環境変数のための領域が足りません」がでてセットされませんでした。(^^;) >せっかく頭をひねっていただいたのに、残念無念です。(^^;) > >自分は、環境変数の最大サイズについては、詳しくありませんが… >支店にあるPCのAUTOEXEC.BATの中身は、PCごと違うので、 >上記のようにうまくいかないPCもある訳ですよね… (^^;;) 環境変数のサイズの設定は、 config.sys で行うようです。 この掲示板のFPCUのDOS/Vコマンドリファレンスをみてください。 http://fpcu.on.coocan.jp/dosvcmd/set.htm http://fpcu.on.coocan.jp/dosvcmd/command.htm このURLの記述だと、何も指定しないと256バイトしか 確保されないようです。 >このため、自分なりに考えてみました。 >各Win95PCのautoexec.batの最終行に、 >SET COMPUTERNAME=xxxxxx を固定的に追加しようかな?と >思っています。 >これだと、PC移設毎、autoexec.batの中をメンテが必要な方法です。 > >--------- >それで教えて欲しいのですが、じゃくさんの方法と >autoexec.batに固定的に追加する方法では >環境変数の消費量は違うのでしょうか? 上のURLを見る限り同じですね。 >autoexec.batに固定的に追加する方法でも、 >「環境変数のための領域が足りません」がでる可能性はあるんでしょうか?(^^;) autoexec.bat の最初に書けば先に環境変数を使うので 設定はされるはずです。 しかし、その後に長いPATHなどを設定しようとすると ユーザ側がセットできないことも起きるかもしれません。 さらに、すべてのWIN95の面倒をみないといけませんよね。 パトレーゼさんの業務でどのように取得したホスト名を 使うのかにもよりますが、環境変数に設定したホスト名を バッチで使うつもりなら、以下のバッチをひな形にして みてはいかがでしょうか。 前回のホスト名取得バッチの、環境変数にセットしない版です。 ================================== if "%1"=="next" goto next echo %0 next %%1 > コンピュータ名.bat copy コンピュータ名.bat コンピュータ名.bat net config | find "コンピュータ名" > tmp.bat net config | find "コンピュータ名" >> tmp.bat tmp.bat :next del tmp.bat del コンピュータ名.bat del コンピュータ名.bat REM ここ以降に処理したい内容を書く。 REM ホスト名はこのバッチ内では %2 で参照可能 echo コンピュータ名は、 %2 です。 |
|
799) Re8:Win95でのコンピュータ名の取得方法 パトレーゼ 2002/10/14(月) 21:34 |
|
>バッチで使うつもりなら、以下のバッチをひな形にして >みてはいかがでしょうか。 >前回のホスト名取得バッチの、環境変数にセットしない版です。 >================================== > >if "%1"=="next" goto next >echo %0 next %%1 > コンピュータ名.bat >copy コンピュータ名.bat コンピュータ名.bat >net config | find "コンピュータ名" > tmp.bat >net config | find "コンピュータ名" >> tmp.bat >tmp.bat >:next >del tmp.bat >del コンピュータ名.bat >del コンピュータ名.bat >REM ここ以降に処理したい内容を書く。 >REM ホスト名はこのバッチ内では %2 で参照可能 >echo コンピュータ名は、 %2 です。 じゃくさん ためしにやってみます。 ありがとうございます。 |