![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 18:41 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 怎样替换文本的字符串(请肩膀上有星的都来看看)[已结] |
| 可打印版本 2,596 / 18 |
| 第1楼 hbby | 发表于 2007-08-30 20:36 |
| 中级用户 发帖 99 积分 220 | |
|
怎样替换文本的字符串(请肩膀上有星的都来看看)[已结] 怎么样替换文本中的字符串
比如说, *:\GHOSTSYS (*代表任意字符,可替换的字符) 我要寻找:\GHOSTSYS,不管*的数字是什么,我要替换它为F。 请高手指教 [ Last edited by hbby on 2007-9-5 at 01:57 AM ] |
|
| 第2楼 HAT | 发表于 2007-08-30 20:48 |
| 版主 发帖 5,017 积分 9,023 | |
|
try this one:
|
|
| 第3楼 hbby | 发表于 2007-08-30 20:53 |
| 中级用户 发帖 99 积分 220 | |
|
老哥,*:\GHOSTSYS是在一个文本文件里面,*号是任意字母,如何替换,还请明示,谢谢!
文本内容如下: IF NOT EXIST D:\GHOSTSYS\NUL MD D:\GHOSTSYS IF NOT EXIST E:\GHOSTSYS\NUL MD E:\GHOSTSYS 或者是其他字母,*是个变量 [ Last edited by hbby on 2007-8-30 at 08:55 PM ] |
|
| 第4楼 hbby | 发表于 2007-08-31 15:45 |
| 中级用户 发帖 99 积分 220 | |
|
我顶下,请有思路的朋友帮忙看看,谢谢
|
|
| 第5楼 slore | 发表于 2007-08-31 16:24 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
把A到Z都替换一边。。没有其他的情况了吧?
|
|
| 第6楼 hbby | 发表于 2007-08-31 17:15 |
| 中级用户 发帖 99 积分 220 | |
|
那代码多么不简练啊
|
|
| 第7楼 HAT | 发表于 2007-08-31 17:58 |
| 版主 发帖 5,017 积分 9,023 | |
|
//那代码多么不简练啊
两个for循环应该可以搞定了 刚才试着写了一下 发现变量嵌套的地方老是有问题 看来要想融汇贯通变量嵌套还需要时日啊 等待学习高人的代码 |
|
| 第8楼 ccwan | 发表于 2007-08-31 18:16 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
sed "s/[A-Z]:/F:/g" 1.txt
|
|
| 第9楼 hbby | 发表于 2007-08-31 18:53 |
| 中级用户 发帖 99 积分 220 | |
|
最好用系统自己的命令,向各位高手学习!
|
|
| 第10楼 hbby | 发表于 2007-08-31 18:54 |
| 中级用户 发帖 99 积分 220 | |
|
我用以下命令行只能替换指定代码,不能替换变量,高手看看怎么修改!
@echo off set /p a=请输入驱动器号(不包含:): setlocal enabledelayedexpansion for /f "tokens=*" %%i in (1.txt) do set "n=%%i"&&set n=!n:d:\GHOSTSYS=%a%:\GHOSTSYS!&&echo !n!>>2.txt |
|
| 第11楼 slore | 发表于 2007-08-31 20:24 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
用个for
然后SET一个A-Z的字符串…… 然后一个个推进FOR |
|
| 第12楼 ccwan | 发表于 2007-09-01 08:06 |
| 金牌会员 发帖 1,160 积分 2,725 来自 河北廊坊 | |
|
当你向前走一步就可以到达目的地的时候,你也可以选择向后转,绕地球一周再来。
这样,你看到了以前从所未见的美景,也因此浪费了自己的青春和其它美好的东西。 个中利弊,只有自己斟酌了。 |
|
| 第13楼 hbby | 发表于 2007-09-01 09:37 |
| 中级用户 发帖 99 积分 220 | |
Originally posted by slore at 2007-8-31 20:24: 具体点,代码应该怎么写呀? |
|
| 第14楼 slore | 发表于 2007-09-01 09:54 |
| 铂金会员 发帖 2,478 积分 5,212 | |
|
@echo off&&setlocal enabledelayedexpansion
Set DriverName=ABCDEFGH for /l %%i in (0,1,7) do echo !DriverName:~%%i,1! pause |
|
| 第15楼 hbby | 发表于 2007-09-01 20:27 |
| 中级用户 发帖 99 积分 220 | |
|
好象还是不行哦,能再具体点吗?谢谢
|
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |