【发布时间】:2021-02-11 16:47:51
【问题描述】:
我有一个批处理脚本可以根据给定的 IP 地址添加新条目:
@echo off
SET NEWLINE=^& echo.
set /p ipAddress=What is the IPv4 address of the instance?
FIND /C /I "storage.app.lab" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^%ipAddress% storage.app.lab>>%WINDIR%\System32\drivers\etc\hosts
FIND /C /I "home.app.lab" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^%ipAddress% home.app.lab>>%WINDIR%\System32\drivers\etc\hosts
FIND /C /I "api.app.lab" %WINDIR%\system32\drivers\etc\hosts
IF %ERRORLEVEL% NEQ 0 ECHO %NEWLINE%^%ipAddress% api.app.lab>>%WINDIR%\System32\drivers\etc\hosts
pause
但是,如果输入新的 IP 地址,我希望能够用域名覆盖现有条目。例如,如果已经存在域名为“storage.app.lab”的条目,则将其替换为新的IP地址。
如何在不使用备份主机文件的情况下实现这一目标?
【问题讨论】:
-
我不会为此推荐
cmd。这是可行的,但我会考虑使用 powershell。
标签: batch-file scripting hosts