中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎样替换文本的字符串(请肩膀上有星的都来看看)[已结]
« [1] [2] »
作者:
标题: 怎样替换文本的字符串(请肩膀上有星的都来看看)[已结] 上一主题 | 下一主题
terse
银牌会员





积分 2404
发帖 946
注册 2005-9-8
状态 离线
『第 16 楼』:  

@echo off&setlocal enabledelayedexpansion
for %%a in (c d e g h i j k l m n o p q) do (
for /f "tokens=*" %%i in (test.txt) do (
set "n=%%i"
set n=!n:%%a:\GHOSTSYS=f:\GHOSTSYS!
if !n! NEQ %%i echo !n!>>test2.txt
)
)

2007-9-2 13:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hbby
中级用户





积分 220
发帖 99
注册 2005-8-16
状态 离线
『第 17 楼』:  

16楼的老兄,还是不行哦
我的原文件是
@ECHO OFF
GOTO %CONFIG%
:RECOVER
PATH C:\DOSTOOLS;C:\DOSTOOLS\COMMAND
SET TEMP=C:\DOSTOOLS\TEMP
LH DOSTOOLS\COMMAND\DOSKEY
LH DOSTOOLS\COMMAND\MOUSE
LH DOSTOOLS\SMARTDRV.EXE
C:\DOSTOOLS\GHOST -CLONE,MODE=PLOAD,SRC=D:\GHOSTSYS\SYSTEM.GHO:1,DST=1:1 -SURE -RB
GOTO END

:BACKUP
PATH C:\DOSTOOLS;C:\DOSTOOLS\COMMAND
SET TEMP=C:\DOSTOOLS\TEMP
LH DOSTOOLS\COMMAND\DOSKEY
LH DOSTOOLS\COMMAND\MOUSE
LH DOSTOOLS\SMARTDRV.EXE
IF NOT EXIST D:\GHOSTSYS\NUL MD D:\GHOSTSYS
C:\DOSTOOLS\GHOST -Z9 -CLONE,MODE=PDUMP,SRC=1:1,DST=D:\GHOSTSYS\SYSTEM.GHO -SURE -FX
ATTRIB +A +S +H +R D:\GHOSTSYS
WIN /Z
GOTO END

:TOOLS
SET EXPAND=YES
SET DIRCMD=/O:N
SET LGLDRV=27 * 26 Z 25 Y 24 X 23 W 22 V 21 U 20 T 19 S 18 R 17 Q 16 P 15
SET LGLDRV=%LGLDRV% O 14 N 13 M 12 L 11 K 10 J 9 I 8 H 7 G 6 F 5 E 4 D 3 C
CALL DOSTOOLS\SETRAMD.BAT %LGLDRV%
PATH %RAMD%:\DOSTOOLS;%RAMD%:\DOSTOOLS\COMMAND;%CDROM%:\
MKDIR %RAMD%:\DOSTOOLS
MKDIR %RAMD%:\DOSTOOLS\COMMAND
DOSTOOLS\COMMAND\ATTRIB -A -S -H -R \COMMAND.COM
COPY COMMAND.COM %RAMD%:\>NUL
DOSTOOLS\COMMAND\ATTRIB +A +S +H +R \COMMAND.COM
COPY DOSTOOLS\*.* %RAMD%:\DOSTOOLS>NUL
COPY DOSTOOLS\COMMAND\*.* %RAMD%:\DOSTOOLS\COMMAND>NUL
MKDIR %RAMD%:\DOSTOOLS\TEMP
SET TEMP=%RAMD%:\DOSTOOLS\TEMP
SET TMP=%RAMD%:\DOSTOOLS\TEMP
LH DOSTOOLS\COMMAND\DOSKEY
LH DOSTOOLS\COMMAND\MOUSE
LH DOSTOOLS\COMMAND\MSCDEX /D:ECSCD003 /E
LH DOSTOOLS\SMARTDRV.EXE
SET COMSPEC=%RAMD%:\COMMAND.COM
SET CDROM=
SET LGLDRV=

:END

请问怎么替换:\GHOSTSYS前面的盘符啊?谢谢

2007-9-3 09:47
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 18 楼』:  

注意你的套嵌顺序!

@echo off&setlocal enabledelayedexpansion
for /f "tokens=*" %%i in (test.txt) do (
set "n=%%i"
for %%a in (c d e g h i j k l m n o p q) do (
set n=!n:%%a:\GHOSTSYS=F:\GHOSTSYS!
)
echo !n!>>test2.txt
)

2007-9-3 11:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hbby
中级用户





积分 220
发帖 99
注册 2005-8-16
状态 离线
『第 19 楼』:  

谢谢各位大哥的解答,18楼是正解!已经OK了

2007-9-5 01:55
查看资料  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: