标题: [文本处理] 批处理可以实现在gmail邮箱地址中随机加点吗? [打印本页]
作者: pengyou86 时间: 2009-1-25 22:36 标题: 批处理可以实现在gmail邮箱地址中随机加点吗?
随机加点,不知道批处理可以实现吗?
GMAIL.com邮箱地址可以任意加点。我想通过批处理[email=pengyou86@gmail.com]pengyou86@gmail.com[/email]这个邮箱可以分成多少给子地址。
比如 :[email=p.engyou86@gmail.com]p.engyou86@gmail.com[/email]
[email=pe.ngyou86@gmail.com]pe.ngyou86@gmail.com[/email]
[email=pen.gyou86@gmail.com]pen.gyou86@gmail.com[/email]
[email=peng.you86@gmail.com]peng.you86@gmail.com[/email]
[email=peng.you86@gmail.com]peng.you86@gmail.com[/email]
[email=p.e.n.g.y.o.u.8.6@gmail.com]p.e.n.g.y.o.u.8.6@gmail.com[/email]
[email=p.engyou8.6@gmail.com]p.engyou8.6@gmail.com[/email]
可以在pengyou86之间任意加点都是子地址。那位朋友帮忙写一下希望列出的子地址不会重复 谢谢!
[ 本帖最后由 pengyou86 于 2009-3-6 00:04 编辑 ]
作者: pusofalse 时间: 2009-1-25 22:48
- @echo Off
- set /a n=%random% %% 9 + 1
- set "str=pengyou86@gmail.com"
- call echo %%str:~,%n%%%.%%str:~%n%%%
- pause>nul
复制代码
作者: defanive 时间: 2009-1-25 23:23
8+7+6+5+4+3+2+1=36种组合方式,枚举也不多吧。。。
而且最麻烦的问题,就是可以有多个点。。。
我就不说什么了,反正都是力气活。。。
还有,楼上的代码,可能会有[email]pengyou86.@gmail.com[/email]的情况,那个9改成8就可以了。。。
作者: pengyou86 时间: 2009-1-25 23:55
谢谢楼上两位。 新年好啊!
作者: pengyou86 时间: 2009-1-26 00:06 标题: 回复 2楼 的帖子
这个代码只能列出一个子地址,而且只能加一个点
有什么方法全部列出或者导入指定
txt文本里面也行的
[ 本帖最后由 pengyou86 于 2009-1-26 00:08 编辑 ]
作者: pengyou86 时间: 2009-1-26 23:44
继续求助,麻烦了
作者: itrui 时间: 2009-1-27 13:13
C81+C82+C83+C84+C85+C86+C87+C88=8+28+56+70+70+56+28+8=324种组合
作者: wxcute 时间: 2009-1-27 14:16 标题: 应该算是排列组合问题
- @echo off
- setlocal enableDelayedExpansion
- set name=pengyou86
- :lp
- set/a nl+=1
- if not "!name:~%nl%!"=="" goto :lp
- set/a ml=nl-1
- call :showN name %ml%
- echo 名字%name%长度为%nl%,共有%num%个子地址。
- pause
- goto :eof
- :showN
- for /l %%a in (1 1 %2) do (
- if not "!%1:~%%a,1!"=="." (
- echo !%1:~,%%a!.!%1:~%%a!@gmail.com&set/anum+=1
- set %11=!%1:~,%%a!.!%1:~%%a!
- call :showN %11 %%a
- )
- )
复制代码
[ 本帖最后由 wxcute 于 2009-1-27 14:18 编辑 ]
作者: defanive 时间: 2009-1-27 14:24
捏哦,那就是我算错了。。。
好像不是用P哦,是C捏。。。
作者: pengyou86 时间: 2009-1-27 20:52 标题: 回复 8楼 的帖子
谢谢!测试蛮好用的
作者: pengyou86 时间: 2009-1-27 21:08 标题: 回复 8楼 的帖子
怎么可以把计算出来的结果保存到123.txt里面呢?
作者: hxinhu12315 时间: 2009-1-28 09:33 标题: 回复 11楼 的帖子
echo !%1:~,%%a!.!%1:~%%a!@gmail.com&set/anum+=1
改成echo !%1:~,%%a!.!%1:~%%a!@gmail.com>>123.txt&set/anum+=1不就完了
作者: pengyou86 时间: 2009-1-28 12:59 标题: 回复 12楼 的帖子
谢谢 这个批处理太棒了
作者: pengyou86 时间: 2009-3-5 23:55
原帖由 wxcute 于 2009-1-27 14:16 发表
@echo off
setlocal enableDelayedExpansion
set name=pengyou86
:lp
set/a nl+=1
if not "!name:~%nl%!"=="" goto :lp
set/a ml=nl-1
call :showN name %ml%
echo 名字%name%长度为%nl%,共有%num%个子地址 ...
这样批处理弄出来的子地址有好多重复。汗!那位高手修改一下。让批处理别出现重复子地址
作者: wxcute 时间: 2009-3-6 12:55 标题: 经测试未发现一个重复,共 255 个
名字存在 sub_name.txt 文件中。- @echo off>nul 3>sub_name.txt
- setlocal enableDelayedExpansion
- set name=pengyou86
- :lp
- set/a nl+=1
- if not "!name:~%nl%!"=="" goto :lp
- set/a ml=nl-1
- call :showN name %ml%
- echo 名字%name%长度为%nl%,共有%num%个子地址。
- goto :eof
- :showN
- for /l %%a in (1 1 %2) do (
- if not "!%1:~%%a,1!"=="." (
- echo !%1:~,%%a!.!%1:~%%a!@gmail.com&set/anum+=1
- set %11=!%1:~,%%a!.!%1:~%%a!
- call :showN %11 %%a
- )
- )
复制代码
作者: pengyou86 时间: 2009-3-7 18:53 标题: 回复 15楼 的帖子
谢谢 测试可以的
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |