中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-09 17:35
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]如何用批处理提取一个命令返回的字符? 查看 839 回复 5
楼 主 [求助]如何用批处理提取一个命令返回的字符? 发表于 2008-09-04 09:48 ·  中国 北京 鹏博士BGP
初级用户
积分 68
发帖 37
注册 2008-08-15 11:07
17年会员
UID 123237
性别 男
状态 离线
比如输入getmac命令 提取其中的MAC地址并显示 这样的命令该怎么写啊?路过的大侠教教小弟吧
2 发表于 2008-09-04 10:13 ·  新加坡
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
for /f "skip=3 tokens=*" %%a in ('getmac') do set macadd=%%a
set macadd=%macadd:~0,17%
echo %macadd%
3 发表于 2008-09-04 11:15 ·  中国 北京 鹏博士BGP
初级用户
积分 68
发帖 37
注册 2008-08-15 11:07
17年会员
UID 123237
性别 男
状态 离线
啊~谢谢了 你写的代码简单易懂
4 发表于 2008-09-04 14:25 ·  中国 北京 鹏博士BGP
初级用户
积分 68
发帖 37
注册 2008-08-15 11:07
17年会员
UID 123237
性别 男
状态 离线
如果这个命令执行错误 如何显示提取一段错误信息呢?
比如用taskkill -pid 0命令
返回错误信息:
无法终止 PID 为 0 的进程。
原因: 这是一个关键系统进程。应用程序无法结束这个进程。

只显示返回错误的第一行
5 发表于 2008-09-04 14:37 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
@echo off
taskkill -pid 0 >nul 2>"%temp%\myerr.txt"
set /p str=<"%temp%\myerr.txt"
echo %str%
6 发表于 2008-09-04 14:59 ·  中国 北京 鹏博士BGP
初级用户
积分 68
发帖 37
注册 2008-08-15 11:07
17年会员
UID 123237
性别 男
状态 离线
谢谢了大侠! 想了半天原来这么简单就可以实现了 看来还要加强对一些重定向的练习啊
论坛跳转: