Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何排除echo中的某些文本_Batch File_Command Line - Fatal编程技术网

Batch file 如何排除echo中的某些文本

Batch file 如何排除echo中的某些文本,batch-file,command-line,Batch File,Command Line,如何缩短此命令的输出 nslookup myip.opendns.com resolver1.opendns.com > %~d0\bat\setup\ipaut\myip.txt 这给了我一个文本文件: Server: resolver1.opendns.com Address: 208.67.222.222 Name: myip.opendns.com Address: 84.48.190.45 我在文本文件中实际需要的是myip.opendns.com地址。 范例

如何缩短此命令的输出

nslookup myip.opendns.com resolver1.opendns.com > %~d0\bat\setup\ipaut\myip.txt
这给了我一个文本文件:

Server:  resolver1.opendns.com
Address:  208.67.222.222

Name:    myip.opendns.com
Address:  84.48.190.45
我在文本文件中实际需要的是myip.opendns.com地址。 范例

这将解析nslookup命令的输出,并将结果输出到文本文件

@echo off
setlocal EnableDelayedExpansion

set "var="
for /F "tokens=2 delims=: " %%a in ('nslookup myip.opendns.com resolver1.opendns.com') do (
   if not defined var (
      set "var=%%a"
   ) else (
      set "!var!=%%a"
      set "var="
   )
)

echo %myip.opendns.com%> output.txt
这将解析nslookup命令的输出,并将结果输出到文本文件

@echo off
setlocal EnableDelayedExpansion

set "var="
for /F "tokens=2 delims=: " %%a in ('nslookup myip.opendns.com resolver1.opendns.com') do (
   if not defined var (
      set "var=%%a"
   ) else (
      set "!var!=%%a"
      set "var="
   )
)

echo %myip.opendns.com%> output.txt
这将解析nslookup命令的输出,并将结果输出到文本文件

@echo off
setlocal EnableDelayedExpansion

set "var="
for /F "tokens=2 delims=: " %%a in ('nslookup myip.opendns.com resolver1.opendns.com') do (
   if not defined var (
      set "var=%%a"
   ) else (
      set "!var!=%%a"
      set "var="
   )
)

echo %myip.opendns.com%> output.txt

这将解析nslookup命令的输出,并将结果输出到文本文件。

它是否始终位于文件中的相同位置,或者其他opendns地址有时可能位于第一位?是的。但是地址是动态的。它在文件中是否总是处于相同的位置,或者其他opendns地址有时可能会排在第一位?是的。但是地址是动态的。它在文件中是否总是处于相同的位置,或者其他opendns地址有时可能会排在第一位?是的。但是地址是动态的。它在文件中是否总是处于相同的位置,或者其他opendns地址有时可能会排在第一位?是的。但是地址是动态的,对不起。根据SomethingDark的问题:“它在文件中是否始终处于相同的位置,或者其他opendns地址有时可能会先出现?”以及您的回答,我假设您想要的文本可能会更改其在文件中的位置,因此我的解决方案会处理这种情况。Squashman的答案总是返回文件中的最后一行。也许我误解了什么?谢谢你的评论。这是一个非常好的观点。正确答案。对不起。根据SomethingDark的问题:“它在文件中是否始终处于相同的位置,或者其他opendns地址有时可能会先出现?”以及您的回答,我假设您想要的文本可能会更改其在文件中的位置,因此我的解决方案会处理这种情况。Squashman的答案总是返回文件中的最后一行。也许我误解了什么?谢谢你的评论。这是一个非常好的观点。正确答案。对不起。根据SomethingDark的问题:“它在文件中是否始终处于相同的位置,或者其他opendns地址有时可能会先出现?”以及您的回答,我假设您想要的文本可能会更改其在文件中的位置,因此我的解决方案会处理这种情况。Squashman的答案总是返回文件中的最后一行。也许我误解了什么?谢谢你的评论。这是一个非常好的观点。正确答案。对不起。根据SomethingDark的问题:“它在文件中是否始终处于相同的位置,或者其他opendns地址有时可能会先出现?”以及您的回答,我假设您想要的文本可能会更改其在文件中的位置,因此我的解决方案会处理这种情况。Squashman的答案总是返回文件中的最后一行。也许我误解了什么?谢谢你的评论。这是一个非常好的观点。正确答案。
@echo off
setlocal EnableDelayedExpansion

set "var="
for /F "tokens=2 delims=: " %%a in ('nslookup myip.opendns.com resolver1.opendns.com') do (
   if not defined var (
      set "var=%%a"
   ) else (
      set "!var!=%%a"
      set "var="
   )
)

echo %myip.opendns.com%> output.txt