![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 22:41 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 连续替换失败,请教中!(已解决) |
| 可打印版本 760 / 6 |
| 第1楼 bat-zw | 发表于 2008-03-29 12:47 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
连续替换失败,请教中!(已解决) 我是想写个对批处理加密和解密的批处理,想通过两次替换来实现,但搞了好久就是不能实现第二次替换,也就是不能再换回来,请大家帮帮啊:
---------------------------------- 己在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 ] |
|
| 第2楼 bat-zw | 发表于 2008-03-29 12:58 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
为了提高,发个水贴: 快来人指点下迷津啊!!!!!!!!!!!!!!!!
|
|
| 第3楼 huahua0919 | 发表于 2008-03-29 13:11 |
| 银牌会员 发帖 780 积分 1,608 | |
|
把你的%%j 换成 %%a 试试
|
|
| 第4楼 bat-zw | 发表于 2008-03-29 13:20 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
没用啊,一样换不回来
先吃饭去,等会再来想,唉,真的没想通 [ Last edited by zw19750516 on 2008-3-29 at 01:22 PM ] |
|
| 第5楼 bat-zw | 发表于 2008-03-29 14:11 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
终于实现了: 原来还是特殊字符的问题,下面的就可以了:
@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 ) |
|
| 第6楼 terse | 发表于 2008-03-29 15:13 |
| 银牌会员 发帖 946 积分 2,404 | |
Originally posted by zw19750516 at 2008-3-29 14:11: 这样的话 读取b.bat内容到a.txt后 似乎将有内容丢弃 |
|
| 第7楼 bat-zw | 发表于 2008-03-29 16:02 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
谢谢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 ) |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |