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