2017-07-01 33 views
0

Windows hostsファイルに行を追加する方法について約半数(123など)の質問がありましたが、古い行をブロックとして新しい行に置き換え、hostsファイル内のすべての行を削除することができる単一のバッチファイルで複数の行を頻繁に更新します。空のホストファイルにバッチして複数の行を追加する

127.0.0.1 example1.com 
127.0.0.1 example2.com 
127.0.0.1 example3.com 
127.0.0.1 example4.com 
127.0.0.1 example5.com 

私が逃したもの、見たところ、あるいは私に例を教えてもらえることを皆さんに教えて欲しいと思っていました。私は本当にあなたの助けに感謝します。

+0

説明が不十分です。 「以前に追加された」という意味ですか?最後のアップデートで追加された、これまでに追加された? – user2956477

+0

すべてのエントリーを完全に削除することを意味します(#を含む)。ちょうどすべて。 – Clacers

答えて

1

あなたはあなたが何をしているか知っていることを確認している場合:
全体のホストは、単純に新しい内容にファイルを書き換える:

@Echo off 
Set "Hosts=%windir%\System32\drivers\etc\hosts" 
Copy "%Hosts%" "%Hosts%.bak" 
(Echo 127.0.0.1 example1.com 
    Echo 127.0.0.1 example2.com 
    Echo 127.0.0.1 example3.com 
    Echo 127.0.0.1 example4.com 
    Echo 127.0.0.1 example5.com 
) > "%Hosts%" 

このバッチは、元のhostsファイルに追加し、追加でコピーを保存します現在のユーザーDocumentsフォルダには&時間hosts_yyyyMMddhhmmss.bakの問題はありません。

@Echo off 
for /f "delims=." %%A in (
    'wmic os get LocalDateTime^|findstr ^^[0-9]' 
) do Set "Bak=%USERPROFILE%\Documents\Hosts_%%A.bak" 

Set "Hosts=%windir%\System32\drivers\etc\hosts" 
Copy /Y "%Hosts%" "%Bak%" 

(Echo 127.0.0.1 example1.com 
    Echo 127.0.0.1 example2.com 
    Echo 127.0.0.1 example3.com 
    Echo 127.0.0.1 example4.com 
    Echo 127.0.0.1 example5.com 
) >> "%Hosts%" 
+0

ありがとうございます!それは完全に動作します! – Clacers

+0

バッチのバージョンを投稿して、既存のものを削除せずに行を追加することはできますか? :) – Clacers

+0

もう1つは既存のエントリを保持しますが、リクエストごとにコメントを削除します。 localhostへのリダイレクト以外のエントリを作成しますか? – LotPings

関連する問題