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

[ 新手练习 1 ] 批处理简易变量截取

[复制链接]
发表于 2011-6-23 11:20:37 | 显示全部楼层

  1. @echo off
  2. color 1a
  3. set str=今日明月在
  4. echo.%str%
  5. echo.%str:~2,3%%str:~,2%
  6. pause
复制代码
发表于 2011-7-17 00:24:55 | 显示全部楼层
本帖最后由 zxd11097 于 2011-7-21 06:03 编辑

第一次做习题  从第一题开始 . 个人绝对最简洁代码.

  1. @echo off
  2. :变量截取练习题  1.
  3. set "a=今日明月在"
  4. echo %a:~0,2% %a:~2,2% %a:~-1%
  5. pause
复制代码

  1. @echo off
  2. :变量截取练习题 2
  3. set "a=今日明月在"
  4. echo %a:~2,2%%a:~,2%%a:~-1%
  5. pause
复制代码
发表于 2011-7-17 13:01:08 | 显示全部楼层
  1. @echo off
  2. Set a=床前明月光
  3. Echo %a:~2,2%%a:~,2%%a:~4%
  4. pause
复制代码
1# wxcute
发表于 2011-7-21 07:52:32 | 显示全部楼层
  1. @echo off
  2. set qq=今日明月在
  3. set a=%qq:~0,2%
  4. set b=%qq:~2,2%
  5. set c=%qq:~-1,1%
  6. for %%i in (%a% %b% %c%) do echo %%i
  7. pause>nul
复制代码
发表于 2011-8-4 01:44:18 | 显示全部楼层
本帖最后由 scarcr 于 2011-8-4 11:26 编辑

为什么我从论坛复制出来的代码都不带换行的啊。而且行间没有任何符号,自己断短的可以,长得就……

  1. @echo off
  2. set "a=TodayMoonHere"
  3. set b=%a:~0,5%
  4. set c=%a:~5,4%
  5. set d=%a:~-4%
  6. echo %b% %c% %d%
  7. echo %c%%b%%d%
  8. pause>nul@echo off
复制代码
试了,能行。
发表于 2011-8-4 02:10:05 | 显示全部楼层
回复 112# scarcr


    注意将代码括起来,一个显示Today、Moon、Here,一个显示Moon、Today、Here,你做到没有?
发表于 2011-8-4 11:30:30 | 显示全部楼层
回复 113# cjiabing
抱歉,已经改正过来了,测试运行,符合题目要求。
我一般用gvim编辑文本,默认输出为utf-8,结果用其编辑批处理程序时,中文部分就会乱成一片,即使改成ansi也不行,有点费解。
(这几天出现不明原因,命令提示符下无法切换输入法,哎)
发表于 2011-8-5 21:56:49 | 显示全部楼层
@echo off
set a=今日明月在
set var=%a:~0,2%
echo %var%
set var1=%a:~2,2%
echo %var1%
set var2=%a:~4,1%
echo %var2%
发表于 2011-8-5 22:42:48 | 显示全部楼层
  1. @echo off
  2. set aa=今日明月在
  3. echo %aa:~0,2%
  4. echo %aa:~2,2%
  5. echo %aa:~-1%
  6. pause >nul
  7. echo.
  8. echo %aa:~2,2%%aa:~0,2%%aa:~-1%
  9. pause >nul
复制代码
发表于 2012-8-31 17:22:54 | 显示全部楼层
set 前面都玩的很厉害了,我就用for吧

  1. @echo off
  2. for  /f  "tokens=1,2,3 delims=日月" %%a  in ("今日明月在") do echo %%a日,%%b月,%%c
  3. pause
  4. for  /f  "tokens=1,2,3 delims=日月" %%a  in ("今日明月在") do echo %%b月,%%a日,%%c
  5. pause
  6. exit
复制代码
发表于 2012-9-7 16:58:17 | 显示全部楼层
新手只能这样做了
  1. @echo off
  2. set str=今日明月在
  3. set var1=%str:~0,2%
  4. set var2=%str:~2,2%
  5. set var3=%str:~-1,1%
  6. echo %var1%
  7. echo %var2%
  8. echo %var3%
  9. pause
复制代码
发表于 2012-9-9 10:52:35 | 显示全部楼层
  1. @echo off
  2. set str=今日明月在
  3. echo %str%
  4. echo %str:~2,2%%str:~2%%str:~-1%
  5. pause
复制代码
发表于 2012-10-16 16:56:54 | 显示全部楼层

  1. 第一题
  2. @echo off
  3. set a=天涯明月刀
  4. set a1=%a:~0,2%
  5. set a2=%a:~2,2%
  6. set a3=%a:~4,1%
  7. echo %a1% %a2% %a3%
  8. pause
复制代码
第二题测试没对
发表于 2012-10-16 17:08:13 | 显示全部楼层
第二题

  1. @echo off
  2. set a=天涯明月刀
  3. set a=%a:天涯=变量%
  4. set a=%a:明月=天涯%
  5. set a=%a:变量=明月%
  6. echo %a%
  7. pause
复制代码
发表于 2012-10-22 16:01:11 | 显示全部楼层
@echo off
set var=今日明月在
echo %var:~0,2% & echo %var:~2,2% & echo %var:~-1%
pause


第二题不会
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:08 , Processed in 0.020280 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表