从windows cmd提示符读取和编辑文本文件

从windows cmd提示符读取和编辑文本文件,windows,batch-file,cmd,scheduled-tasks,Windows,Batch File,Cmd,Scheduled Tasks,不要问我为什么,但我想在我的公共ip地址更改时点击某个url(我没有也无法获得固定的ip),因此我创建了一个批处理文件,打开url(我已设法将我的公共ip地址保存在一个变量中并粘贴到url中),并制定了一个计划任务,以便批处理文件在特定时间间隔后运行。但这是没有效率的,我想在我的ip地址改变时打开url,所以我想制作一个文本文件,其中批处理文件不断写入我的ip地址,并且每当它改变url时,就会自动打开url。有可能吗?? 以下是我用来将ip地址放入url的代码: @Echo off for /f

不要问我为什么,但我想在我的公共ip地址更改时点击某个url(我没有也无法获得固定的ip),因此我创建了一个批处理文件,打开url(我已设法将我的公共ip地址保存在一个变量中并粘贴到url中),并制定了一个计划任务,以便批处理文件在特定时间间隔后运行。但这是没有效率的,我想在我的ip地址改变时打开url,所以我想制作一个文本文件,其中批处理文件不断写入我的ip地址,并且每当它改变url时,就会自动打开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

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

@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.
)
@echo关闭
setlocal EnableExtensions Disabledelayedexpansion
cd/d“%~dp0”
对于/f“tokens=1*delims=:”%%A in(
'nslookup myip.opendns.com.resolver1.opendns.com 2^>NUL^|查找“地址:”
)是否设置ExtIP=%%B
save.ip回显%ExtIP%
启动http://%ExtIP%#这是我放置url的地方
)否则(
echo ExtIP没有改变,没什么可做的。
)

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