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

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

[复制链接]
发表于 2009-2-18 05:32:39 | 显示全部楼层
第一题:
@echo off
set i=今日明月在
set j=%i:~0,2%
echo %j%
set k=%i:~2,2%
echo %k%
set l=%i:~-1%
echo %l%
pause


第二题:
@echo off
set i=今日明月在
set j=%i:~2,2%
echo %j%
set k=%i:~0,2%
echo %k%
set l=%i:~-1%
echo %l%
pause


- -!我是新手,思维很死板!

评分

参与人数 1PB +2 收起 理由
wxcute + 2 不错不错

查看全部评分

发表于 2009-2-20 10:36:20 | 显示全部楼层
set a=今日明月在
set b=%a:~0,2%
set c=%a:~2,2%
set d=%a:~4,1%
@echo %c%%b%%d%
@pause

评分

参与人数 1PB +1 收起 理由
wxcute + 1 加油加油

查看全部评分

发表于 2009-2-22 20:58:02 | 显示全部楼层

新手报道第一贴,刚刚看了教程就编写的

@echo off
set r=今日明月在
echo %r%
set m=%r:~0,2%
set n=%r:~2,2%
set l=%r:~4,1%
echo %n%%m%%l%
pause

评分

参与人数 1PB +2 收起 理由
wxcute + 2 不错不错。加油。

查看全部评分

发表于 2009-2-25 20:38:26 | 显示全部楼层

回复 1楼 的帖子

@echo off

setlocal enabledelayedexpansion
set tt=今日明月在
for  %%1 in (0 2 4) do (
    set  t%%1= !tt:~%%1,2!
)
echo !t2! !t0! !t4!

评分

参与人数 1PB +2 收起 理由
wxcute + 2 思路挺好。

查看全部评分

发表于 2009-2-25 22:27:55 | 显示全部楼层
  1. @echo off
  2. set n=&set a=&set b=&set c=
  3. set n=今日明月在
  4. set a=%n:~0,2%
  5. echo %a%
  6. set b=%n:~2,2%
  7. echo %b%
  8. set c=%n:~-1%
  9. echo %c%
  10. set/p d=%b%%a%%c%<nul
  11. pause
复制代码

[ 本帖最后由 zjw767676 于 2009-2-25 22:30 编辑 ]

评分

参与人数 1PB +1 收起 理由
wxcute + 1 不错,加油

查看全部评分

发表于 2009-2-27 10:41:42 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=今日明月在
  4. set a=%var:~0,2% & echo !a!
  5. set b=%var:~2,2% & echo !b!
  6. set c=%var:~4,1% & echo !c!
  7. pause
复制代码

评分

参与人数 1PB +1 收起 理由
wxcute + 1 哈哈,不赖

查看全部评分

发表于 2009-3-23 21:27:45 | 显示全部楼层

练习

  1. @echo off
  2. set str=今日明月在
  3. set a=%str:~0,2%
  4. set b=%str:~2,2%
  5. set c=%str:~-1%
  6. echo %a% %b% %c%
  7. echo %b%%a%%c%
  8. pause
复制代码
发表于 2009-3-23 21:30:23 | 显示全部楼层

顺便问下abc三个变量的截取不能放在一行用一个set搞定么?

RT
  1. @echo off
  2. set str=今日明月在
  3. set a=%str:~0,2%  b=%str:~2,2% c=%str:~-1%
  4. echo %a% %b% %c%
  5. echo %b%%a%%c%
  6. pause
复制代码
我试了写成这样的的话显示会很奇怪。麻烦高手解释下。
发表于 2009-3-23 21:46:23 | 显示全部楼层

回复 38楼 的帖子

给set命令加上/a开关即可
发表于 2009-3-23 22:02:23 | 显示全部楼层

回复 39楼 的帖子

多谢,这是很简单的语法问题,我忘记了,多谢提醒。
发表于 2009-3-26 21:11:30 | 显示全部楼层
  1. @echo off
  2. set str=今日明月在
  3. set a=%str:~0,2%
  4. set b=%str:~2,-1%
  5. set c=%str:~-1%
  6. echo %b%%a%%c%
  7. pause
复制代码

[ 本帖最后由 cainiao736 于 2009-3-26 21:59 编辑 ]
发表于 2009-5-4 20:32:58 | 显示全部楼层

这样可不可以啊

@echo off
set a=今日明月在
for /f "tokens=1 delims=明月在" %%a in ("%a%") do @echo %%a
for /f "tokens=1 delims=今日,在" %%b in ("%a%") do @echo %%b
for /f "tokens=1 delims=今日明月" %%c in ("%a%") do @echo %%c
pause
echo ----------------------------------------------------------------
echo ----------------------------------------------------------------
echo ----------------------------------------------------------------
set a=今日明月在
set var=%a:今日明月=明月今日%
echo %var%
pause
发表于 2009-5-4 20:38:41 | 显示全部楼层
@echo off
set a=今日明月在
for /f "tokens=1 delims=明月在" %%a in ("%a%") do for /f "tokens=1 delims=今日,在" %%b in

("%a%") do for /f "tokens=1 delims=今日明月" %%c in ("%a%") do @echo %%a %%b %%c
pause
echo ----------------------------------------------------------------
echo ----------------------------------------------------------------
echo ----------------------------------------------------------------
set a=今日明月在
set var=%a:今日明月=明月今日%
echo %var%
pause
发表于 2009-5-4 20:41:45 | 显示全部楼层
@echo off
echo 第一题:
set a=今日明月在
for /f "tokens=1 delims=明月在" %%a in ("%a%") do for /f "tokens=1 delims=今日,在" %%b in

("%a%") do for /f "tokens=1 delims=今日明月" %%c in ("%a%") do @echo %%a %%b %%c
pause
echo ----------------------------------------------------------------
echo ----------------------------------------------------------------
echo ----------------------------------------------------------------
echo 第二题:
set a=今日明月在
set var=%a:今日明月=明月今日%
echo %var%
pause
发表于 2009-7-6 19:21:14 | 显示全部楼层
@echo off
set a=今日明月在
set b=%a:~0,2%
echo %b%
set c=%a:~2,2%
echo %c%
set d=%a:~-1%
echo %d%
pause


set a=今日明月在
set b=%a:~2,2%%a:~0,2%%a:~-1%
echo %b%
pause
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 06:21 , Processed in 0.040118 second(s), 16 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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