PCのHostsファイルを一括で書き換える方法

このQ&Aのポイント
  • サーバのIPアドレス変更に伴い、数十台のPCのHostsファイルを書き換える方法を紹介します。
  • 手作業では大変な作業を一括で行うため、Batファイルを使用して自動化します。
  • 具体的な操作は、既存のHostsファイルから該当のエントリを削除し、新しいエントリを追加することです。
回答を見る
  • ベストアンサー

Hosts書き換え用バッチファイルの作り方・・・

Hosts書き換え用バッチファイルの作り方・・・ お世話になります。 サーバのIPアドレス変更に伴い、数十台のPCのHostsファイルを書き換える必要があります。 具体的には、 SERVER1 192.xxx.xxx.xxx を削除し、 SERVER1 10.xxx.xxx.xxx を追加する という操作がしたいわけです。 ただし、これ以外の登録はPCにより色々ですので、あくまで現行のものを削除、差分を追加、という形にしたいのです。 手作業で行うのはあまりに大変ですので、Batファイルなどを作って必要な方に配布できたら・・・と思うのですが、削除→追加の書き方がわかりません。 ご教示いただけますと助かります。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • 0909union
  • ベストアンサー率39% (325/818)
回答No.2

>Hosts書き換え用バッチファイルの作り方・・・ そもそもこの手のスクリプトが必要な場合DNSを立ち上げる必要があります。10年以上も前なら、そんな予算がないとか、そんな知識がある社員がいないとか、クライアントからよく怒られたものです(よく現場の営業と喧嘩したものです)。 でも今は家庭でもルーターを設置する方が多く、たくさんの素人の方が設置しています。 何せ1万円前後で手に入り、マニュアル通りにやればいいわけですから。設定してくれる業者もります(3万円前後)。 ルーターにDNSサーバー機能がある場合が多く、それで行うのをお勧めします。もちろん使用していないパソコンをDNSサーバーにするのがいいです。 で、本題です。 このレベルであれば確かにDOSのバッチファイルで用は足りますが・・・・・ 私はこの手のサンプルを投稿するのはしませんが(業務でやるならプロでしょう。おれは金もらっていない)、まあこのレベルならいいでしょう。テストを含め5分で作成したので、穴だらけですが、まあ用は足ります。そのためめちゃくちゃ単純にしています。削除して追加。もちろん管理者で行ってください。 @echo off cls set delsrv="SERVER1 111\.111\.111\.111" "SERVER2 222\.222\.222\.222" "SERVER3 333\.333\.333\.333" set addsrv="SERVER1 444.444.444.444" "SERVER2 555.555.555.555" "SERVER3 666.666.666.666" set hostsfile="%systemroot%\system32\drivers\etc\hosts" copy %hostsfile% %hostsfile%.bac for %%a in (%delsrv%) do ( echo del [%%a] findstr /r /v %%a %hostsfile% > tmp.txt type tmp.txt > %hostsfile% ) echo\ for %%a in (%addsrv%) do ( echo add [%%a] echo %%~a >> %hostsfile% ) del /q tmp.txt > NUL 2>&1 echo ---------- end ----------------------- type %hostsfile% | more pause ※なお、IPに333はないでしょう。わかりやすくするためにそのようにいした。

その他の回答 (1)

  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.1

http://www.fpcu.jp/dosvcmd/bbs/log/cat3/cat54/2-0391.html 読んで分かります? 私は VB 使いなので VBScript でやったりしますが。

関連するQ&A

  • hosts に 記載がなければ追加するバッチ

    hosts に 記載がなければ追加するバッチを作りたいと思います。 以下のように書くとバッチを流すたびに追加されてしまうのですでにあれば書かないようにしたいです。DNSには書けないのでHOSTSで対応したいです。設定時にミスで数度流しても最初以外は視されるようにならないでしょうか? 対象OSは WindowsXP,2000です。 バッチ内容 TYPE HOSTSCOPY.TXT >> %systemroot%\system32\drivers\etc\host HOSTSCOPY.TXTの内容 ipアドレス host名

  • バッチファイルの呼び出し

    バッチファイル間のキックについて教えてください。 1)バッチファイルA.batでB.batをキックするにはcallでいいでしょうか? 2)あるWindowsサーバから、違うWindowsサーバのバッチファイルをキックするにはどのようにすればいいのでしょうか。

  • LMHOSTSとHOSTSファイルについて

    ネットワーク管理者(初心者)です。 一つのネットワークセグメントでサーバへアクセスするのに、 ¥¥サーバ名でアクセスできず、¥¥IPアドレスで行ってます。 上記現象が起こるのは、数台のPCだけですので、手動でLMHOSTSファイルもしくはHOSTSファイルに定義を記述しようと思います。 そこで、ご質問ですが、IPアドレスとマシン名だけを関連させるだけならば、HOSTSファイルに記述するだけでいいのでしょうか。 もしくは、LMHOSTSファイルにも記述が必要でしょうか。 いまいち両者の使い分けが分りません。 使い分けについてご存知ならば、教えていだだけ無いでしょうか

  • hostsファイルについて

    はじめまして。ネットワークエンジニアの卵です。 ●http://www.atmarkit.co.jp/icd/root/11/5784411.htmlを読んでの質問です。このサイトでは、hostsファイルについて、次のように説明されています。 ================================================================  TCP/IPを使ったネットワークにおいて、あるノードのIPアドレスと、 そのノードを表わす分かりやすい文字列(別名)の対応を記録した ファイルのこと。  TCP/IPを実装したマシンでは、ほとんどの場合、このhostsファイルを参照して名前解決をすることができる。  hostsファイルの、OS別ディレクトリ位置  ・UNIX系のOSは、/etc/hosts  ・Windows 95/98では、C:\Windows\hosts  ・Windows NTではC:\Winnt\System32\Drivers\Etc\hosts ================================================================ 上記にあるように、MS-DOSプロンプトを起動し、 C:\Documents and Settings\computername>上記のディレクトリを試しましたが、全て失敗です。  いずれも、'内部コマンドまたは外部コマンド、操作可能な プログラムまたはバッチ ファイルとして認識されていません。’や、 ’指定されたパスが見つかりません。’等と表示されてしまいます。 hostsファイルとは標準装備されているものではないのでしょうか。 ちなみにOSは、WindowsXP home Edition です。 上記2点について長々と説明させて頂きましたが、ご回答お願いしす。 また、ネットワーク初心者でも、分かりやすくて丁寧なサイトがありましたらURLも教えて下さい。

  • バッチファイルについて

    下記のようなバッチファイルを作りたいのですが 教えていただけませんでしょうか? 作成したい内容は、 PC起動時に自PCにある『XXX.CVS』ファイルを (C:\test\XXX.CVS) 共有ファイルサーバーのフォルダ内へ ファイル名に日付を付けて 『YYMMDD_XXX.CVS』としてコピーする。 (\\test\goo\YYMMDD_XXX.CVS)

  • hostsファイルの編集

    自宅サーバ(linux)にドメイン名でxpからアクセスしています。 windowsの再インストールを行ったので、以前やったようにwindowsのhostsファイルを編集しました。(C:\WINDOWS\system32\drivers\etc\hosts) ところが、なぜかこのhostsファイルの編集をしてPCを再起動しても、ドメイン名で自宅サーバへのアクセス(IE,Firefox)ができません。 *プライベートIPならアクセス可 そこで、hostsファイルの内容が反映されているかを調べる方法があったら教えてください。 今のところ、hostsファイルの設定がうまく反映されていないように思うので・・・ よろしくお願いします。

  • Batファイルでhostsを追加したい

    はじめまして。 BatファイルやWSHなどを使って、 hostsファイルにホスト名とアドレスを追加する方法が分かりません。 ダブルクリックで実行して簡単に項目を追加したいと考えていますので、 どなたか分かる方いらっしゃいましたら、教えてください。 宜しくお願いします。

  • ブラウザからhostsファイルが参照できない

    今、社内ネットワーク上のあるサーバ上に存在するページを クライアントPCのブラウザで開こうとしています。 そのサーバの名前解決は、hostsファイルにIP、名前を記述しておき、hostsで行う様にしています。 ところがブラウザ(IE6 SP2)でそのサーバ上のURLを入力すると、 The requersted URL could not be retrieved While trying to retrieve the URL: http://xxx.yyy.co.jp/zzz/ The following error was encountered: Unable to determin IP address from host name for xxx.yyy.co.jp The dnsserver returned: No DNS records の様に、”サーバの名前解決が出来なかった”という意味のエラーメッセージが表示されてしまいます。 (社内には、DNSサーバが稼動しているのですが、 上記サーバについてはクライアントのhostsで名前解決する様にしています。) そこでhostsファイルを書き誤ったか、配置すべきディレクトリを変えてしまったのか、 と思い、確認しましたが問題なさそうです。 確認手段として、コマンドプロンプトから  ping サーバ名 を実行しましたが、実行結果は、 ping xxx.yyy.co.jp [aaa.bbb.ccc.ddd] with 32 bytes of data; ・・・ のようになり、ping実行で見る限りはhostsファイルの内容を使って、 名前解決が出来ているようです。 ping ではhostsが参照できているのに、ブラウザではできない、といった様な状況なのですが、 ブラウザからもhostsの内容を参照させる様にすることはできないでしょうか。

  • バッチファイル

    隠しファイルを表示したところ、デスクトップに名前Associate.BAT 種類Windowsバッチファイルという 隠しファイルが出てきました。自分で覚えがあまりなく、どういった種類のファイルなのかを知りたい のです。削除して良いものでしたら、削除しようと思ったのですがどうなのでしょうか? あまり、詳しくないので分りやすく教えていただけるとありがたいです。 よろしくお願いいたします。

  • デスクトップ上のファイルを削除する汎用バッチ

    複数の人へ配布する資料を作成しています。 PCは、Windows XP/SP2 最後にデスクトップ上のテキストファイルを全部削除するバッチを 作りたいのですが、デスクトップの指定方法が判りません。 C:/AXP/削除バッチ.bat ------------------------------ echo デスクトップ上のテキストファイルを全部削除します pause del \__デスクトップ__\AXP*.txt ------------------------------ 削除バッチをダブルクリックさせて削除したいのですが、 ユーザーに依存しない指定はあるでしょうか? このサイトの検索もしましたが、良くわかりませんでした。 宜しくお願いいたします。