Board logo

标题: [求助]如何用批处理提取一个命令返回的字符? [打印本页]

作者: jy02116916     时间: 2008-9-4 09:48    标题: [求助]如何用批处理提取一个命令返回的字符?
比如输入getmac命令 提取其中的MAC地址并显示 这样的命令该怎么写啊?路过的大侠教教小弟吧

作者: HAT     时间: 2008-9-4 10:13
@echo off
for /f "skip=3 tokens=*" %%a in ('getmac') do set macadd=%%a
set macadd=%macadd:~0,17%
echo %macadd%

作者: jy02116916     时间: 2008-9-4 11:15
啊~谢谢了 你写的代码简单易懂

作者: jy02116916     时间: 2008-9-4 14:25
如果这个命令执行错误 如何显示提取一段错误信息呢?
比如用taskkill -pid 0命令
返回错误信息:
无法终止 PID 为 0 的进程。
原因: 这是一个关键系统进程。应用程序无法结束这个进程。

只显示返回错误的第一行

作者: HAT     时间: 2008-9-4 14:37
@echo off
taskkill -pid 0 >nul 2>"%temp%\myerr.txt"
set /p str=<"%temp%\myerr.txt"
echo %str%

作者: jy02116916     时间: 2008-9-4 14:59
谢谢了大侠! 想了半天原来这么简单就可以实现了 看来还要加强对一些重定向的练习啊