Board logo

标题: [文本处理] [已解决]批处理命令 for 字符截取怎样获取域名中间? [打印本页]

作者: sinsky    时间: 2015-4-30 15:26     标题: [已解决]批处理命令 for 字符截取怎样获取域名中间?

本帖最后由 sinsky 于 2015-5-6 21:16 编辑

本来的思路是用户输入域名之后bat提取域名中间,然后计算域名中间的长度然后递增截取的,无奈,计算长度出错,退而求其次,指定长度截取,但是后面的%%i好像怎么都会被吃掉 求助,无奈了。。。

最好两个能合一起 ,当然你有更好的想法也可以共享下。bat完成。
  1. set domaincenter = baidu
  2. for /l %%i in (1,1,10) do (echo %domaincenter:~0,%%i%)
复制代码
ps:csdn问了,没人回我,csdn这是要黄的节奏啊。。。
作者: CrLf    时间: 2015-4-30 16:12

本帖最后由 CrLf 于 2015-4-30 19:53 编辑
  1. set domaincenter=baidu
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (1,1,10) do (echo !domaincenter:~0,%%i!)
复制代码

作者: xxpinqz    时间: 2015-4-30 19:35

貌似变量名的空格得去掉。。。
作者: CrLf    时间: 2015-4-30 19:59

回复 3# xxpinqz


    没注意,已修改
作者: yangfengoo    时间: 2015-4-30 20:48

  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. set domaincenter=baidu
  4. for /f "delims=" %%a in ('cmd/u/cecho !domaincenter!^|more')do set/a n+=1
  5. for /l %%i in (1,1,!n!) do (echo !domaincenter:~0,%%i!)
  6. pause
复制代码

作者: sinsky    时间: 2015-4-30 23:49

回复 5# yangfengoo

牛X啊,谢谢。

另外请教个问题!和%有什么区别,什么时候用 什么时候不应该用?
作者: sinsky    时间: 2015-4-30 23:59

回复 5# yangfengoo


    Setlocal enabledelayedexpansion

在这个环境里必须有吗?
作者: gawk    时间: 2015-5-6 22:02

csdn问了,没人回我,csdn这是要黄的节奏啊

找对地方很重要,CSDN懂BAT的不多。
作者: sinsky    时间: 2015-5-6 22:14

回复 8# gawk


    是的




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2