标题: [文本处理] 批处理如何实现将输入的字符串中每个字符都用26个字母替换一次并输出替换后字符串 [打印本页]
作者: wuzu007 时间: 2011-3-8 17:42 标题: 批处理如何实现将输入的字符串中每个字符都用26个字母替换一次并输出替换后字符串
本帖最后由 pcl_test 于 2016-8-11 21:15 编辑
批处理怎样用26个字母代替和添加输入一串字符?
首先我输入的字符不超过12个,比如输入一串字符baidu.com 那么要完成以下的处理
第一 每个字母都替换成一次26个字母小数点后面不做修改。
第二 每个字母后面加一次26个字母小数点后面不做修改。生成结果保存为a.txt
生成的结果
aaidu.com
baidu.com
caidu.com
...
zaidu.com
baidu.com
bbidu.com
bcidu.com
...
bzidu.com
上面是替换一次字母的结果
baaidu.com
bbaidu.com
bcaidu.com
...
bzaidu.com
baaidu.com
babidu.com
bacidu.com
...
bazidu.com
这个是加一次字母的结果
[ 本帖最后由 wuzu007 于 2011-3-8 20:17 编辑 ]
作者: batman 时间: 2011-3-9 09:54
首先,感叹一下楼主的语言输出能力!
代码如下:- @echo off&setlocal enabledelayedexpansion
- set /p str=请输入:
- echo 字符串.号前各字母轮流替换成26个字母:>a.txt
- echo 字符串.号前各字母后轮流加一次26个字母:>b.txt
- set "code=a b c d e f g h i j k l m n o p q r s t u v w x y z"
- for /l %%a in (0,1,12) do (
- set /a a=%%a+1
- if not defined flag (
- if %%a equ 0 (
- for %%b in (%code%) do (
- echo %%b%str:~1%>>a.txt
- echo %str:~,1%%%b%str:~1%>>b.txt
- )
- ) else (
- for %%b in (%code%) do (
- for %%c in (!a!) do (
- echo !str:~,%%a!%%b!str:~%%c!>>a.txt
- echo !str:~,%%c!%%b!str:~%%c!>>b.txt
- )
- )
-
- )
- )
- for %%c in (!a!) do if "!str:~%%c,1!" equ "." set "flag=a"
- )
- copy /y a.txt+b.txt a.txt&del /q b.txt
- start a.txt
复制代码
[ 本帖最后由 batman 于 2011-3-9 11:22 编辑 ]
作者: wuzu007 时间: 2011-3-9 15:04
就是这样,你太给力了,不愧是版主。非常感谢
作者: caruko 时间: 2011-3-9 19:04
我怎么感觉这是一个密码刺探程序呢
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |