[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何实现将输入的字符串中每个字符都用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 编辑 ]

首先,感叹一下楼主的语言输出能力!
代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. set /p str=请输入:
  3. echo 字符串.号前各字母轮流替换成26个字母:>a.txt
  4. echo 字符串.号前各字母后轮流加一次26个字母:>b.txt
  5. 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"
  6. for /l %%a in (0,1,12) do (
  7.      set /a a=%%a+1
  8.      if not defined flag (
  9.         if %%a equ 0 (
  10.            for %%b in (%code%) do (
  11.                echo %%b%str:~1%>>a.txt
  12.                echo %str:~,1%%%b%str:~1%>>b.txt
  13.            )
  14.            ) else (
  15.            for %%b in (%code%) do (
  16.                for %%c in (!a!) do (
  17.                    echo !str:~,%%a!%%b!str:~%%c!>>a.txt
  18.                    echo !str:~,%%c!%%b!str:~%%c!>>b.txt               
  19.                )           
  20.            )
  21.            
  22.         )
  23.      )
  24.      for %%c in (!a!) do if "!str:~%%c,1!" equ "." set "flag=a"
  25. )
  26. copy /y a.txt+b.txt a.txt&del /q b.txt
  27. start a.txt
复制代码

[ 本帖最后由 batman 于 2011-3-9 11:22 编辑 ]
***共同提高***

TOP

就是这样,你太给力了,不愧是版主。非常感谢

TOP

我怎么感觉这是一个密码刺探程序呢

TOP

返回列表