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

[文本处理] [已解决]批处理可以实现在gmail邮箱地址中随机加点吗?

比如 :[email=l.ibinglibinglibing890@gmail.com]l.ibinglibinglibing890@gmail.com[/email]
            [email=li.binglibinglibing890@gmail.com]li.binglibinglibing890@gmail.com[/email]
            [email=libi.nglibinglibing890@gmail.com]libi.nglibinglibing890@gmail.com[/email]
            [email=libin.glibinglibing890@gmail.com]libin.glibinglibing890@gmail.com[/email]
            [email=libingli.binglibing890@gmail.com]libingli.binglibing890@gmail.com[/email]
            [email=libinglibin.glibing890@gmail.com]libinglibin.glibing890@gmail.com[/email]
            [email=libinglibinglib.ing890@gmail.com]libinglibinglib.ing890@gmail.com[/email]
可以在[email=libinglibinglibing890@gmail.com]libinglibinglibing890[/email]之间任意加点都是子地址。那位朋友帮忙写一下希望列出的子地址不会重复  谢谢
我用论坛里一个朋友写的,处理我这个,半天不动,请高手帮助

[ 本帖最后由 jonm158 于 2010-8-18 21:36 编辑 ]
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

你用的哪个?能否贴出来看看?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

2楼没看懂,意思就是:我要告诉别人我的邮箱地址如:[email]libingli.binglibing890@gmail.com[/email],要怎样把这一行字加进批处理文件里去,请解答一下,象这样的事情很多的,如果能写,就方便多了。
1

评分人数

    • CrLf: 乐于助人PB + 3

TOP

3楼没看懂,楼主说了:“我用论坛里一个朋友写的,处理我这个,半天不动”
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 1楼 的帖子

点的个数有限制吗?
没有限制就按顺序加呗 遇到@ 就结束
a.bcd
ab.cd
abc.d
这样子吗?

TOP

点的个数没有限制,谢谢各位高手朋友
我用下面这个批处理试过,不动
  1. @echo off>nul 3>sub_name.txt
  2. setlocal enableDelayedExpansion
  3. set name=libinglibinglibing890
  4. :lp
  5. set/a nl+=1
  6. if not "!name:~%nl%!"=="" goto :lp
  7. set/a ml=nl-1
  8. call :showN name %ml%
  9. echo 名字%name%长度为%nl%,共有%num%个子地址。
  10. goto :eof
  11. :showN
  12. for /l %%a in (1 1 %2) do (
  13.  if not "!%1:~%%a,1!"=="." (
  14.   echo !%1:~,%%a!.!%1:~%%a!@gmail.com&set/anum+=1
  15.   set %11=!%1:~,%%a!.!%1:~%%a!
  16.   call :showN %11 %%a
  17.  )
  18. )
复制代码
请高手改进

TOP

  1. gawk -F@ "{n=length($1);for(i=1;i<=n;i++)print substr($1,1,i-1)substr($1,i,1)\".\"substr($1,i+1)\"@\"$2}" 1.txt
复制代码

TOP

谢谢CUER的指导,
但这句代码怎么用还看懂

TOP

请各位高手们再指导指导,谢谢

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str=abcd
  4. call :act "%str:~0,1%" "%str:~1%"
  5. :::call :func %StrChoose% %StrHave%
  6. pause
  7. exit
  8. :act
  9. setlocal
  10. set tmpstr=%~2
  11. if "%~2"=="" (
  12.    echo %~1
  13.    goto :eof
  14. )
  15. call :act "%~1.!tmpstr:~0,1!" "!tmpstr:~1!"
  16. call :act "%~1!tmpstr:~0,1!" "!tmpstr:~1!"
  17. endlocal
复制代码
测试的字符串是abcd,在其中间插入点
a.b.c.d
a.b.cd
a.bc.d
a.bcd
ab.c.d
ab.cd
abc.d
abcd
请按任意键继续. . .



我是利用组合,
每一个位置:存在与不存在点  的情况构成不同的组合,
4个字符之间有三个地方可插入点, 那么组合的个数就是 2的三次方=8

改掉字符串,试试吧

TOP

libinglibinglibing890   
21个字符
=.= 我杯具了,你的那个地址的字符串的插入点的组合个数是:
2的20次方: 1048576
用递归的方法效率超低……

[ 本帖最后由 523066680 于 2010-8-18 17:32 编辑 ]

TOP

回复 8楼 的帖子

1

评分人数

    • CrLf: 乐于助人PB + 3
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

那么,如果gawk 可以不重复地插入任意个点并枚举,代码也很短吗?
好奇啊。

TOP

谢谢各位高手,我先去试试了

TOP

管理说的那个工具,以下了,但还是不清楚怎么用,还是要请高手指导,谢谢大家

TOP

返回列表