![Board logo](images/default/logo.gif)
标题: [文本处理] [已解决]批处理怎样提取字符? [打印本页]
作者: sbjatje 时间: 2010-9-9 14:12 标题: [已解决]批处理怎样提取字符?
答案在11楼
如下:
开始--运行--cmd
C:\Documents and Settings\Administrator>d:
D:\>cd proewildfire 4.0\bin
D:\proeWildfire 4.0\bin>ptchostid.bat
解说:当我输入ptchostid.bat时就会出现下面的结果
PTC HOSTID = 00-1D-7D-74-B5-C7
我想提取 00-1D-7D-74-B5-C7 号码 但是每电脑这个号码都不一样,想完成这样的效果批处理应该如何写?
请知道的老大,讲下,,谢谢
[ 本帖最后由 sbjatje 于 2010-9-10 16:21 编辑 ]
作者: hfg1977 时间: 2010-9-9 14:28
第三方命令行程序
set "str=替换"
sed -i "00-1D-7D-74-B5-C7/%str%/" ptchostid.bat
作者: edmond 时间: 2010-9-9 14:54
- @echo off
- setlocal enabledelayedexpansion
- for /f "delims=~" %%a in (1.txt) do (set t=%%a
- if "!t:~11,1!"=="=" (echo !t:~13,17!)
- )
- pause
复制代码
可以的
作者: cjiabing 时间: 2010-9-9 15:43
好好学习FOR /f吧!~
注意观察“PTC HOSTID = 00-1D-7D-74-B5-C7”,里面的标点符号有【=】和【-】,用做分隔符的话应嘎提取2-7节。
代码自己写,又不学习又老是问这种超出自己能力的事情。
作者: Batcher 时间: 2010-9-9 21:13
- @echo off
- cd /d "D:\proeWildfire 4.0\bin"
- for /f "tokens=4" %%a in ('ptchostid.bat') do (
- set "str=%%a"
- )
- echo,%str%
复制代码
作者: CUer 时间: 2010-9-9 21:30
- "proeWildfire 4.0\bin\ptchostid.bat" | sed "s/.*= //"
复制代码
作者: sbjatje 时间: 2010-9-10 10:35 标题: 谢谢各位,老大们
上面的回答都是字符的提取,,,
我的前提是先运行,ptchostid.bat 再提取他的显示结果中的那一组号码,,,,而不是直接把PTC HOSTID = 00-1D-7D-74-B5-C7 ,这个拿来取00-1D-7D-74-B5-C7
[ 本帖最后由 sbjatje 于 2010-9-10 14:57 编辑 ]
作者: sbjatje 时间: 2010-9-10 10:57 标题: batcher 这个批处理,运行不了。
@echo off
for /f "tokens=4" %%a in ('"D:\proeWildfire 4.0\bin\ptchostid.bat"') do (
set "str=%%a"
)
echo,%str%
说ptchostid,bat不是内部指令。。。。。
请batcher 简说下,是不是在批处理中不能用ptchostid.bat,不能有*.bat的文件
作者: sbjatje 时间: 2010-9-10 15:42 标题: 批处理怎样提取字符?
群里的大侠们好:
问个问题 我这个批处理为什么后半节执行不了,就是从F:开始下面是做字符替换的。。。
前面的1.txt能产生,后面就执行不了,是不是中间要加什么语名,,,,谢高手指导下- @echo off
- d:
- cd proewildfire 4.0\bin
- ptchostid >>d:\1.txt
- f:
- cd setup\4.0crack
- setlocal enabledelayedexpansion
- for /f "tokens=4 delims= " %%a in (d:\1.txt) do set mac=%%a
- (for /f "delims=" %%i in (ptc_licfile.txt) do (
- set str=%%i
- set str=!str:00-00-00-00-00-00=%mac%!
- echo !str!
- ))>tmp_
- del ptc_licfile.txt
- ren tmp_ ptc_licfile.txt
复制代码
路过的大侠们帮我看下,那里写错了,,,,
作者: Batcher 时间: 2010-9-10 16:07 标题: 回复 8楼 的帖子
4楼代码已更新,请重新测试。
作者: sbjatje 时间: 2010-9-10 16:20 标题: 这样写就行了,,,
@echo off
d:
cd proewildfire 4.0\bin
ptchostid >>d:\1.txt
就会在D盘的1.txt记录ptchostid运行的结果。。。。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |