- ベストアンサー
PCのHostsファイルを一括で書き換える方法
- サーバのIPアドレス変更に伴い、数十台のPCのHostsファイルを書き換える方法を紹介します。
- 手作業では大変な作業を一括で行うため、Batファイルを使用して自動化します。
- 具体的な操作は、既存のHostsファイルから該当のエントリを削除し、新しいエントリを追加することです。
- みんなの回答 (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)
http://www.fpcu.jp/dosvcmd/bbs/log/cat3/cat54/2-0391.html 読んで分かります? 私は VB 使いなので VBScript でやったりしますが。