[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 【已结】批处理如何捕获命令执行后的输出结果并赋值给变量?

如以下命令:

ipconfig /all|find "Default Gateway"|sort /r

网上有很多获取本机IP和mac之类的批处理脚本,但是好像都只对本机只有一块网卡的情况下适用,如果有N多块网卡的呢?

所以只要能把以上命令的输出结果能赋值给一个变量,再进行处理,就能解决很多难题。希望能给个处理方法,谢谢!

类似以下语句:
set "Cmd_str=`ipconfig /all^|find "Default Gateway"^|sort /r`"
echo %Cmd_str%
这样子显然行不通~~~~

[ 本帖最后由 cxz1012 于 2009-3-2 17:10 编辑 ]

基本上都是用for,参考:Ritchie Lawrence 批处理函数库中英文版
http://bbs.bathome.net/thread-3056-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

呵呵~~~不错,给了我启示,谢谢Batcher
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1,2 delims=:" %%a in ('ipconfig /all^|find "Default Gateway"^|sort /r') do (
  4.     if not defined line_str set line_str=%%b
  5. )
  6. echo 本机的网关地址为:!line_str!
复制代码

TOP

回复 3楼 的帖子

如果有人帮你解决了问题,建议进行以下操作:

1、修改帖子标题,在标题最前面注明:【已结】

2、给竭尽全力帮你的人、正确回答问题的人加分(你自己的积分不会减少)以示感谢,虽然大家来论坛是为了学习而不是为了积分,但加分聊表谢意总是或多或少能够让花费了时间和精力无私帮助你的人略感欣慰。

3、如果你是在别人的提示下自己写出了代码,请把自己的方法贴出来跟大家分享一下,也许他人可以帮你指出代码中的不足之处、告诉你如何提高执行效率等,有交流才能更快地进步。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表