複数の新規ドメインをホストに一括で追加
2022-01-25 13:58:33
要件 バッチ(.bat)で複数の新しいドメインをホストに追加し、最初にそれらがすでに存在するかどうかを確認し、それらがすでに存在する場合は、それらを追加しないでください。
その他、存在しないドメインについては、直接追加してください。
googleで検索すると、以下のようなコードが見つかりました。
コピーコード
コードは以下の通りです。
set stHosts= X.X.X. www.domainname.com
FOR /F "eol=# tokens=1 delims=" %%i in (%systemroot%\system32\drivers\etc\hosts) do if "%stHosts%"=="%%i" exit
echo %stHosts%>> %systemroot%\system32\drivers\etc\hosts
しかし、このコードではドメイン名を1行しか検出できません。
以下のような異なるドメインを追加したい場合、複数のドメインを検出するようにコードを書き換えるにはどうしたらよいでしょうか。
127.0.0.1 mcfg.sandai.net
127.0.0.1 211.94.190.80
127.0.0.1 advstat.xunlei.com
123.87.86.5 biz5.sandai.net
527.66.13.125 cknum.sandai.net
110.45.215.113 cl.kankan.xunlei.com
127.0.0.1 float.sandai.net
127.0.0.1 mcfg.sandai.net
180.70.134.154 mtips.xunlei.com
127.0.0.1 pubstat.sandai.net
216.58.221.74 recommend.xunlei.com
127.0.0.1 wy.xunlei.com
110.45.229.148 buy.safe.xunlei.com
方法1.
@echo off & setlocal enabledelayedexpansion
set "file=%systemroot%\system32\drivers\etc\hosts"
for /f "tokens=2" %%i in ('more +11 "%~0"') do set #%%i=1
for /f "delims=" %%i in ('findstr /n . * %file%') do (
set "s=%%i"
set "s=!s:*:=! "
for /f "tokens=1,2" %%j in ("#!s!") do if not defined #%%k echo;!s!
)
more +11 "%~0"
pause & exit
方法2:検出を持ち込む(様々なドメインアドレスをlist.txtというファイルに1行ずつ書き込む)
@echo off
if exist %temp%\$ del /q %temp%\$
for /f "delims=" %%i in (%systemroot%\system32\drivers\etc\hosts) do echo %%i>>%temp%\$
for /f "delims=" %%a in ('findstr /v /g:"%temp%\$" list.txt') do echo %%a>> %systemroot%\system32\drivers\etc\hosts
関連
-
システム時間抽出のためのBATバッチコード(バグ修正)
-
bat バッチビット操作のサンプルコード
-
バッチBATスクリプトセットコマンド使用詳細(バッチハウスバッチャー)
-
ファイル(フォルダ)の存在を検出するWindows用バッチプログラム
-
Windowsの空のフォルダを検索するバッチプログラムのコード例
-
バッチプロセスでポート135、137、445などを閉じる実装コード(ランサムウェア)
-
指定したフォルダー内のファイルを遅延して削除する方法
-
Batはforfilesを使って期限切れのファイルを自動的に一括削除する
-
script_tool_for_windows.bat Windows 環境のホストのためのワンクリック配備スクリプト
-
shutdownコマンドによるリモートシャットダウンとリブート
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
DOSコマンドラインからHaoZipでファイルを圧縮する方法
-
cmdでファイル名をフィルタリングする2つの方法
-
DOS比較演算子(LSS,LEQ,GTR,GEQ,EQU,NEQ)
-
DOSコマンドラインからbatバッチプログラムを使って空のフォルダーをすべて削除する方法
-
バッチやvbsコードによるiniファイルの修正
-
cmdでdドライブまたはdドライブ内のフォルダーを入力する
-
cmdのバッチ処理におけるset /a、set /pの違いについて
-
バットコードを共有し、ドラッグ&ドロップでファイル情報を取得可能
-
リテラシーのためのDosバッチ処理コマンド
-
DOSバッチコマンド For loopコマンド詳細説明