【问题标题】:Reading and editing a text file from windows cmd prompt从 Windows cmd 提示符读取和编辑文本文件
【发布时间】:2021-04-23 21:01:31
【问题描述】:

不要问我为什么,但是当我的公共 ip 地址发生变化时我想点击某个 url(我没有也无法获得固定的 ip)所以我创建了一个打开 url 的批处理文件(我已设法将我的公共 IP 地址保存在一个变量中,并将其粘贴在 url 中)并进行了计划任务,以便批处理文件在特定时间间隔后运行。但这效率不高,我想在我的 ip 地址更改时打开 url,所以我想制作一个文本文件,其中批处理文件不断写入我的 ip 地址,并且每当它更改时,url 都会自动打开。甚至可能吗? 这是我用来将我的 ip 地址放在 url 中的代码::

@Echo off
for /f "tokens=1* delims=: " %%A in (
  'nslookup myip.opendns.com. resolver1.opendns.com 2^>NUL^|find "Address:"'
) Do set ExtIP=%%B
Echo External IP is : %ExtIP%
start http://%ExtIP%             #this is where I put the url

【问题讨论】:

  • 目前您似乎只是希望有人改进您的代码或方法。这不是“就如何进行项目或任务征求意见”类型的网站。该站点可帮助您使用提供的代码修复特定、单一且可重现的问题。 “它没有效率”不是问题,除非你解释你的书面代码的哪个特定部分工作效率低下,将这种低效率与 进行比较(没有看到更有效的工作,我们没有基础效率水平),以及您在尝试解决该问题时所做的工作。
  • 我正在使用需要我的 IP 地址的服务,但是由于它时不时地更改,我必须在该站点上手动更改 IP 地址。他们提供了一个 api 链接,我可以在其中粘贴我的用户 ID 登录名和 IP 地址。我只想自动化这个过程。
  • 我不想和你说话!您需要做的是解决我在评论中提出的问题,方法是创建一个主题、可理解和可回答的问题,并附上您的代码以及我们重现它所需的所有支持信息,并为您提供进一步的帮助。请使用tour,然后通读How to Ask,以及它的每个链接页面,以帮助您相应地编辑此问题。
  • 确定我正在创建一个新主题,我会把我的代码放在那里。对不起,如果我很粗鲁
  • 请不要创建新主题!使用 edit 按钮,并修复这个。

标签: windows batch-file cmd scheduled-tasks


【解决方案1】:

您只需将变量保存到文件中并再次读取:

@echo off
setlocal EnableExtensions Disabledelayedexpansion
cd /d "%~dp0"
for /f "tokens=1* delims=: " %%A in (
  'nslookup myip.opendns.com. resolver1.opendns.com 2^>NUL^|find "Address:"'
) Do set ExtIP=%%B

<save.ip set /p SavIP=
if "%SavIP%" neq "%ExtIP%" (
  echo %date% %time~0,5% : IP changed from %SavIP% to %ExtIP%.
  >save.ip echo %ExtIP%
  start http://%ExtIP%             #this is where I put the url
) else (
  echo ExtIP didn't change. Nothing to do.
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-19
    • 1970-01-01
    相关资源
    最近更新 更多