中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 连续替换失败,请教中!(已解决)
作者:
标题: 连续替换失败,请教中!(已解决) 上一主题 | 下一主题
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『楼 主』:  连续替换失败,请教中!(已解决)

 我是想写个对批处理加密和解密的批处理,想通过两次替换来实现,但搞了好久就是不能实现第二次替换,也就是不能再换回来,请大家帮帮啊: ----------------------------------  己在5楼解决问题 @echo off&setlocal enabledelayedexpansion for /f "skip=2 tokens=*" %%i in ('find " " b.bat') do ( set str=%%i set str=!str:i=*! set str=!str:f=#! set str=!str:t=~! set str=!str:e=$! echo !str! >>a.txt ) 上面为第一次替换,下面为第二次替换,不知道为什么第二次不成功,脑袋都想痛了! for /f "skip=2 tokens=*" %%j in ('find " " a.txt') do ( set var=%%j set var=!var:*=i! set var=!var:#=f! set var=!var:~=t! set var=!var:$=e! echo !var! >>b.txt ) [ Last edited by zw19750516 on 2008-3-29 at 02:13 PM ]




批处理之家新域名:www.bathome.net
2008-3-29 12:47
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 2 楼』:  为了提高,发个水贴:

快来人指点下迷津啊!!!!!!!!!!!!!!!!




批处理之家新域名:www.bathome.net
2008-3-29 12:58
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 3 楼』:  

把你的%%j 换成 %%a 试试


2008-3-29 13:11
查看资料  发送邮件  访问主页  发短消息  网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 4 楼』:  

没用啊,一样换不回来 先吃饭去,等会再来想,唉,真的没想通 [ Last edited by zw19750516 on 2008-3-29 at 01:22 PM ]




批处理之家新域名:www.bathome.net
2008-3-29 13:20
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 5 楼』:  终于实现了:

原来还是特殊字符的问题,下面的就可以了: @echo off&setlocal enabledelayedexpansion for /f "skip=2 tokens=*" %%i in ('find " " b.bat') do ( set str=%%i set str=!str:i=aaaa*! set str=!str:f=bbbb*! set str=!str:t=cccc*! set str=!str:e=dddd*! echo !str! >>a.txt ) for /f "skip=2 tokens=*" %%j in ('find " " a.txt') do ( set var=%%j set var=!var:aaaa*=i! set var=!var:bbbb*=f! set var=!var:cccc*=t! set var=!var:dddd*=e! echo !var! >>b.txt )




批处理之家新域名:www.bathome.net
2008-3-29 14:11
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复
terse
银牌会员





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

Originally posted by zw19750516 at 2008-3-29 14:11: 原来还是特殊字符的问题,下面的就可以了: @echo off&setlocal enabledelayedexpansion for /f "skip=2 tokens=*" %%i in ('find " " b.bat') do ( set str=%%i ...
这样的话 读取b.bat内容到a.txt后 似乎将有内容丢弃




简单!简单!再简单!
2008-3-29 15:13
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 7 楼』:  

谢谢terse,我注意到了,修改如下: @echo off&setlocal enabledelayedexpansion for /f "skip=2 tokens=*" %%i in ('find /v "******" b.bat') do ( set str=%%i set str=!str:i=aaaa*! set str=!str:f=bbbb*! set str=!str:t=cccc*! set str=!str:e=dddd*! echo !str! >>a.txt ) for /f "skip=2 tokens=*" %%j in ('find /v "******" a.txt') do ( set var=%%j set var=!var:aaaa*=i! set var=!var:bbbb*=f! set var=!var:cccc*=t! set var=!var:dddd*=e! echo !var! >>b.txt )




批处理之家新域名:www.bathome.net
2008-3-29 16:02
查看资料  发送邮件  发短消息  网志  OICQ (841615149)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: