![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 07:57 |
共 48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 在文本中提取不同的字符? |
| 可打印版本 817 / 11 |
| 第1楼 foreverlrf | 发表于 2007-09-05 17:57 |
| 初级用户 发帖 11 积分 24 | |
|
在文本中提取不同的字符? 要求把:
"Physical Address. . . . . . . . . : 00-0F-EA-B5-9F-D1”这行文字提炼成"000FEAB59FD1" |
|
| 第2楼 wudixin96 | 发表于 2007-09-05 18:30 |
| 银牌会员 发帖 931 积分 1,928 | |
|
for /f "tokens=2 delims=:" %%i in (1.txt) do set str=%%i
set str=%str:-=% echo %str% |
|
| 第3楼 knoppix7 | 发表于 2007-09-05 18:32 |
| 银牌会员 发帖 634 积分 1,287 来自 cmd.exe | |
|
自己搜索一下。以前有人问过
|
|
| 第4楼 foreverlrf | 发表于 2007-09-06 08:57 |
| 初级用户 发帖 11 积分 24 | |
|
问题已解决,非常感谢wudixin96提供解决办法。
具体代码是: for /f "delims=: tokens=1*" %%a in ('ipconfig/all^|find "Physical dress"') do set mac=%%b set mac=%mac:-=% |
|
| 第5楼 ccwan | 发表于 2007-09-06 10:49 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
凑个热闹。呵呵
ipconfig/all|find "Physical"|sed s/.*://;s/-//g |
|
| 第6楼 foreverlrf | 发表于 2007-09-06 15:37 |
| 初级用户 发帖 11 积分 24 | |
Originally posted by ccwan at 2007-9-6 10:49 AM: 请高手ccwan能说明一下sed s/.*://;s/-//g的涵义,另外在哪找这方法的资料? |
|
| 第7楼 ccwan | 发表于 2007-09-06 15:45 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
sed s/.*://;s/-//g命令的前半部分, s/.*://是把冒号之前的所有字符替换为空;后面s/-//g是把xx-xx-xx-xx-xx-xx中的 "-" 替换为空。
希望了解sed的用法,请搜索无奈何版主的"sed文章收集"的帖子。 |
|
| 第8楼 foreverlrf | 发表于 2007-09-06 16:00 |
| 初级用户 发帖 11 积分 24 | |
Originally posted by ccwan at 2007-9-6 03:45 PM: 感谢帮助,找到无奈何版主有关sed用法的帖子! |
|
| 第9楼 foreverlrf | 发表于 2007-12-29 15:54 |
| 初级用户 发帖 11 积分 24 | |
|
这个贴已经沉到水底了
|
|
| 第10楼 yxbzxm | 发表于 2008-01-15 11:47 |
| 新手上路 发帖 6 积分 14 | |
|
多谢各位朋友们高义,在此表示感谢!
|
|
| 第11楼 yxbzxm | 发表于 2008-01-15 13:30 |
| 新手上路 发帖 6 积分 14 | |
|
多谢各位朋友们高义,在此表示感谢!
|
|
| 第12楼 moniuming | 发表于 2008-01-22 15:32 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
|
4楼的代码有问题,经测试,以下代码才能达到要求
@echo off&setlocal enabledelayedexpansion for /f "delims=" %%a in ('ipconfig/all^|find "Physical Address"') do ( for /f "delims=: tokens=2" %%b in ("%%a") do ( set aa=%%b set aa=!aa:-=! echo !aa! ) ) pause&exit |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |