Board logo

标题: [ 新手练习 1 ] 批处理简易变量截取 [打印本页]

作者: wxcute    时间: 2008-11-6 21:38     标题: [ 新手练习 1 ] 批处理简易变量截取

如:有一个 QQ 昵称为“今日明月在”,(昵称是不是很诗意呢?)

请分别截取“今日”、“明月”、“在”,并显示出来。
====================================
2008-11-07 题目进阶
通过变量截取把 “今日明月在” 变成 “明月今日在” 显示出来。

不知什么是字符截取可参考:
http://bbs.bathome.net/viewthread.php?tid=996&highlight=%BD%D8%C8%A1
http://bbs.bathome.net/viewthread.php?tid=1149&highlight=%BD%D8%C8%A1
下一题:[ 新手习题 2 ] 字符替换
http://bbs.bathome.net/thread-2462-1-1.html

[ 本帖最后由 wxcute 于 2008-11-17 11:29 编辑 ]
作者: jellyhk    时间: 2008-11-7 02:24

我很郁闷!
有符号我到是搞的出来!居然没了符号搞不出来了!哎!~难到我了!
作者: jellyhk    时间: 2008-11-7 06:28

我顶!谁来回答下!我好学习啊!
作者: Batcher    时间: 2008-11-7 08:05     标题: 回复 3楼 的帖子

少提问,多看帮助和教程,就会了。
set /?
for /?
作者: BBCC    时间: 2008-11-7 13:09

  1. set str=今日明月在&call ,echo %str:~0,2%&call,echo %str:~2,2%&call,echo %str:~-1,1%&pause
复制代码


话说batcher的新签名很强大,但是我支持!!
作者: wxcute    时间: 2008-11-7 15:48     标题: 5楼干嘛把代码写得这么复杂呢?

你的代码只能在CMD下运行,不能存为批处理文件运行。
不过有人答对了就加分。
希望大家再接再厉,经过实际测试的代码才是有用的;别光在脑子里想,会把脑子想坏的,呵呵。
作者: sylovanas    时间: 2008-11-7 17:50

IF NOT DEFINED DEBUG @ECHO OFF
SET "VAR1=今日明月在"
SET "VAR2=%VAR1:今日明月=明月今日%"
ECHO %VAR2%
作者: wxcute    时间: 2008-11-7 18:19     标题: 回七楼

%VAR1:今日明月=明月今日%
你这样可是字符替换阿,要看清题意。做个小惩罚。
作者: Batcher    时间: 2008-11-7 20:30     标题: 回复 8楼 的帖子

1. 顶楼并未指明答错要扣分。
2. 作为新手练习,出错是在所难免的。
鉴于以上原因,扣分这个做法是否有所不妥呢?
作者: sylovanas    时间: 2008-11-7 20:38

@IF NOT DEFINED DEBUG @ECHO OFF

SET "VAR=今日明月在"
SET "VAR1=%VAR:~2,2%%VAR:~0,2%%VAR:~4,1%"
ECHO %VAR1%
作者: wxcute    时间: 2008-11-8 14:26     标题: 回 9 楼

我想评分为 0 ,可发不出去。再一想奖罚分明那才公平,就 -1 吧。

还有 sylovanas 你也见识了,可不是新手。^_^
作者: Batcher    时间: 2008-11-8 17:31     标题: 回复 11楼 的帖子

1.  不管是不是新手,扣分总是会影响积极性。
2. 如果确实需要“奖罚分明”,建议在顶楼明确指出答错要扣分。
尽量避免潜在的不必要的矛盾^_^
作者: wxcute    时间: 2008-11-8 17:37

知道了,下次一定注意。
作者: nomyself    时间: 2008-11-11 20:31

通过变量截取把 “今日明月在” 变成 “明月今日在” 显示出来。
  1. @echo off
  2. for /f "tokens=1 delims=今日在" %%a in ("今日明月在") do @(for /f "tokens=1,2 delims=明月" %%i in ("今日明月在") do @echo %%a%%i%%j)
  3. pause
复制代码

作者: hlzj88    时间: 2008-11-11 21:40

  1. @echo off
  2. set var=今日明月在
  3. echo %var:~0,2%
  4. echo %var:~2,2%
  5. echo %var:~-3,2%
  6. echo %var:~-1%
  7. pause
复制代码
楼上的试用了怎么就一行字的,我的是XP

明白了,眼拙了

[ 本帖最后由 hlzj88 于 2008-11-11 22:03 编辑 ]
作者: stalker    时间: 2008-11-18 13:04

  1. @echo off
  2. set "target=今日明月在"
  3. echo %target:~2,-1%%target:~0,2%%target:~-1,1%
  4. pause>nul
  5. exit
复制代码

作者: 辉少    时间: 2008-11-22 11:27

@echo off
set str=今日明月在
echo %str%
echo %str:~0,2%
echo %str:~2,2%
echo %str:~4,1%
pause>nul
作者: 辉少    时间: 2008-11-22 12:25

同样道理就可知道
@echo off
set str=今日明月在
echo %str%
echo %str:~2,2%%str:~0,2%%str:~4,1%
pause>nul
作者: h5599859    时间: 2008-11-25 10:06

@echo off
set a=今日明月在
echo %a:~2,2%%a:~0,2%%a:~4,1%
pause>nul
作者: yan    时间: 2008-12-5 20:24

  1. echo 输入字符串
  2. set/p str=
  3. set var1=%str:~0,2%
  4. set var2=%str:~2,2%
  5. set var3=%str:~4,1%
  6. set str=%var2%%var1%%var3%
  7. pause
复制代码

作者: firewolf85    时间: 2008-12-9 14:40

  1. @echo off
  2. set str=今日明月在
  3. echo 第一题:
  4. for %%i in (0 2 4) do (
  5. call set /p=%%str:~%%i,2%% <nul
  6. )
  7. echo.
  8. echo 第二题:
  9. for %%i in (2 0 4) do (
  10. call set /p=%%str:~%%i,2%%<nul
  11. )
  12. pause>nul
复制代码

作者: hxinhu12315    时间: 2009-1-28 09:00

@echo off
set qq=今日明月在
echo %qq:~0,2%
echo %qq:~2,2%
echo %qq:~-1,1%

echo %qq:~2,2%%qq:~0,2%%qq:~-1,1%
pause
作者: jadych    时间: 2009-2-5 11:16

@echo off
set "str=今日明月在"
for /f %%i in ("%str%") do set/p =%str:~2,2%%str:~0,2%%str:~4,1%<nul
pause>nul
作者: zhangenming    时间: 2009-2-8 17:13

呵呵
@echo off
set var=今日明月在
echo %var:~2,1%%var:~3,1%%var:~0,1%%var:~1,1%%var:~4,1%
pause>nul
作者: aresk    时间: 2009-2-8 19:25

@echo off
set a=今日明月在
set temp1=%a:~0,2%
set temp2=%a:~2,2%
set temp3=%a:~4%
echo %temp1%
echo %temp2%
echo %temp3%
echo %temp2%%temp1%%temp3%
pause>nul
作者: ccmvhd    时间: 2009-2-11 13:06

@echo off
set ab=今日明月在
set ac=%ab:~0,2%
echo %ac%
set ad=%ab:~2,2%
echo %ad%
set ae=%ab:~-1%
echo %ae%
ping -n 2 127.1>nul
echo %ad%%ac%%ae%
pause>nul&exit
作者: sihui11    时间: 2009-2-14 10:31

  1. @echo off
  2. set var=今日明月在
  3. set jie=%var:~0,2%
  4. set qu=%var:~-3,2%
  5. set li=%var:~4,5%
  6. echo %jie%
  7. echo %qu%
  8. echo %li%
  9. pause
复制代码

作者: irresolute    时间: 2009-2-14 23:35     标题: 二题答

第一题
  1. @echo off
  2. set "aa=今日明月在"
  3. echo %aa:~,2%
  4. echo %aa:~2,2%
  5. echo %aa:~-1%
  6. pause>nul
复制代码
第二题
  1. @echo off
  2. set "aa=今日明月在"
  3. set /p=%aa:~2,2%<nul& set /p=%aa:~,2%<nul& set /p=%aa:~-1%<nul
  4. pause>nul
复制代码

[ 本帖最后由 irresolute 于 2009-2-14 23:54 编辑 ]
作者: irresolute    时间: 2009-2-14 23:43     标题: 答五楼

五楼用call取延迟变量是错的!改成这样就好了!
  1. set str=今日明月在&call ,echo %%str:~0,2%%&call,echo %%str:~2,2%%&call,echo %%str:~-1,1%%&pause
复制代码

[ 本帖最后由 irresolute 于 2009-2-14 23:44 编辑 ]
作者: irresolute    时间: 2009-2-14 23:48     标题: 答23楼

23楼改成如下会更好:
  1. @echo off
  2. set "str=今日明月在"
  3. set/p =%str:~2,2%%str:~0,2%%str:~4,1%<nul
  4. pause>nul
复制代码

作者: TonyW    时间: 2009-2-18 05:32

第一题:
@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


- -!我是新手,思维很死板!
作者: hq624517491    时间: 2009-2-20 10:36

set a=今日明月在
set b=%a:~0,2%
set c=%a:~2,2%
set d=%a:~4,1%
@echo %c%%b%%d%
@pause
作者: hhsww    时间: 2009-2-22 20:58     标题: 新手报道第一贴,刚刚看了教程就编写的

@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
作者: myzwd    时间: 2009-2-25 20:38     标题: 回复 1楼 的帖子

@echo off

setlocal enabledelayedexpansion
set tt=今日明月在
for  %%1 in (0 2 4) do (
    set  t%%1= !tt:~%%1,2!
)
echo !t2! !t0! !t4!
作者: zjw767676    时间: 2009-2-25 22:27

  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 编辑 ]
作者: keen    时间: 2009-2-27 10:41

  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
复制代码

作者: Lumiere    时间: 2009-3-23 21:27     标题: 练习

  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
复制代码

作者: Lumiere    时间: 2009-3-23 21:30     标题: 顺便问下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
复制代码
我试了写成这样的的话显示会很奇怪。麻烦高手解释下。
作者: Batcher    时间: 2009-3-23 21:46     标题: 回复 38楼 的帖子

给set命令加上/a开关即可
作者: Lumiere    时间: 2009-3-23 22:02     标题: 回复 39楼 的帖子

多谢,这是很简单的语法问题,我忘记了,多谢提醒。
作者: cainiao736    时间: 2009-3-26 21:11

  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 编辑 ]
作者: xiaotian    时间: 2009-5-4 20:32     标题: 这样可不可以啊

@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
作者: xiaotian    时间: 2009-5-4 20:38

@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
作者: xiaotian    时间: 2009-5-4 20:41

@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
作者: yinsigan    时间: 2009-7-6 19:21

@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
作者: yinsigan    时间: 2009-7-6 19:31

set a=今日明月在
for /f "delims=明" %%i in ("%a%") do echo %%i
for /f "tokens=2 delims=日" %%i in ("%a%") do for /f "delims=在" %%j in ("%%i") do echo %%j
for /f  "tokens=2 delims=月" %%i in ("%a%") do echo %%i
作者: keen    时间: 2009-7-6 19:49     标题: 回复 46楼 的帖子

set a=今日明月在
for /f "delims=明" %%i in ("%a%") do echo %%i
for /f "tokens=2 delims=日" %%i in ("%a%") do for /f "delims=在" %%j in ("%%i") do echo %%j
for /f  "tokens=2 delims=月" %%i in ("%a%") do echo %%i


请学会使用code将代码括起来:
Q:如何用code将代码括起来?
A:http://bbs.bathome.net/viewthread.php?tid=404&highlight=code

另:请给代码加上@echo off和pause,利于测试。
作者: Taurus    时间: 2009-7-7 01:08

@echo off &set word=今日明月在
echo %word:~0,2% , %word:~2,2% , %word:~4,1% &pause>nul

ps:不知何解,只贴quote的内容发不出来,forum通知字数低于十字

[ 本帖最后由 Taurus 于 2009-7-7 01:13 编辑 ]
作者: eneir    时间: 2009-7-9 03:46     标题: 答案

@echo off
set qq=今日明日在
rem 原题是下面一句
echo %qq:~0,2% & echo %qq:~2,2% & echo %qq:~4%
rem 加强后是下面的
set qq=%qq:~2,2%%qq:~0,2%%qq:~4%
rem 如果上面这句看不懂,可以分成星号之间的三句
echo %qq%
pause>nul
rem 结束
*********************
set qq=%qq:~2,2%^
%qq:~0,2%^
%qq:~4%
*********************
作者: nopr    时间: 2009-8-3 11:14

  1. @echo off
  2. set str=今日明月在
  3. set var=%str:~2,2%&set a=%str:~-5,2%&set b=%str:~4,1%
  4. echo %var%%a%%b%
  5. pause>nul
复制代码

作者: wwenyunkui    时间: 2009-8-7 16:01

  1. @echo off
  2. set p=今日明月在
  3. ::用两种方法实现"今日 明月 在"的效果
  4. echo %p:~0,2%
  5. echo %p:~2,2%
  6. echo %p:~4,1%
  7. echo %p:~-5,2%
  8. echo %p:~-3,2%
  9. echo %p:~-1,1%
  10. ::实现"明月今日在"
  11. echo %p:~2,2%%p:~0,2%%p:~4,1%
  12. pause
复制代码

[ 本帖最后由 wwenyunkui 于 2009-8-7 16:02 编辑 ]
作者: format    时间: 2009-8-8 23:37

@echo off

set nc=今日明月在
echo %nc:~2,2% %nc:~0,2% %nc:~-1,1%

pause
作者: wayaoqiang    时间: 2009-8-12 16:56

  1. @echo off
  2. set var=今日明月在
  3. echo %var:~,2%
  4. echo %var:~2,2%
  5. echo %var:~4,5%
  6. pause>nul
复制代码

[ 本帖最后由 wayaoqiang 于 2009-8-17 21:06 编辑 ]
作者: januapr    时间: 2009-8-13 08:48

  1. @echo off
  2. set "var=今日明月在"
  3. echo 第1题:
  4. echo.
  5. echo %var:~0,2%
  6. echo %var:~-3,2%
  7. echo %var:~-1%
  8. echo.
  9. echo 第2题:
  10. echo.
  11. echo %var:~-3,2%%var:~0,2%%var:~-1%
  12. pause
复制代码

对于第2题中,
  1. echo %var:~-3,2%%var:~0,2%%var:~-1%
复制代码

这一句不知语法有没有错?感觉几个变量连在一起没有分隔好像有点不对的?
作者: Hysteria    时间: 2009-8-15 04:51

@echo off
set str=今日明月在
echo %str%
echo %str:~2,2%%str:~0,2%%str:~4,1%
pause>nul
嘿嘿~~~~~~~~~我也会了!
作者: atsivsucks    时间: 2009-8-18 22:55

  1. @echo off
  2. set str=今日明月在
  3. echo %str:~2,2%%str:~0,2%%str:~4,1%
  4. pause
复制代码

[ 本帖最后由 atsivsucks 于 2009-8-19 08:54 编辑 ]
作者: cs19860814    时间: 2009-8-22 19:09

批处理简易变量截取:
@echo off
:定义字符串
set  str=有一个QQ昵称为“今日明月在”,(昵称是不是很有诗意呢?)。
:截取字符
set a=%str:~9,2% & set b=%str:~11,2% & set c=%str:~13,1%
echo %a%
echo %b%
echo %c%
pause>nul
作者: fbnny    时间: 2009-8-23 11:50     标题: 练习

@echo off 今日明月在
set str=今日明月在
set var1=%str:~0,2%
set var2=%str:~2,2%
set var3=%str:~4,1%
echo set str=%var1%%var2%%var3%
pause>nul
作者: DXSX    时间: 2009-8-25 17:17

方法1:提取并颠倒显示
@ECHO OFF
SET X=今日明月在
ECHO %X:~2,2%%X:~0,2%%X:~-1%

方法2:改变法
@ECHO OFF
SET X=今日明月在
SET Y1=%X:今日=JR%

SET Y2=%Y1:明月=MY%
SET Z1=%Y2:JR=明月%
SET Z2=%Z1:MY=今日%
ECHO %Z2%

[ 本帖最后由 DXSX 于 2009-8-25 17:26 编辑 ]
作者: silence    时间: 2009-8-27 18:03

@echo off
set a=今日明月在
set b=%a:~0,2%
set c=%a:~2,2%
set d=%a:~-1%
echo %b%
echo %c%
echo %d%
echo %c%%b%%d%
pause
作者: cave    时间: 2009-10-8 23:56

  1. @echo off
  2. set a=今日明月在
  3. echo %a:~2,2%%a:~0,2%%a:~-1%
  4. pause>nul
复制代码
我能想到的最简单的方法
作者: zgq0301    时间: 2009-11-11 12:33

  1. @echo off
  2. set str=今日明月在
  3. echo %str:~0,2%
  4. echo %str:~2,2%
  5. echo %str:~4%
  6. echo %str:~2,2%%str:~0,2%%str:~4%
  7. pause
复制代码

作者: bamboo    时间: 2009-11-20 16:18

  1. @echo off
  2. set "qqname=今日明月在"
  3. set "str1=%qqname:~0,2%"
  4. echo %str1%
  5. set "str2=%qqname:~2,2%"
  6. echo %str2%
  7. set "str3=%qqname:~-1%"
  8. echo %str3%
  9. echo %str2%%str1%%str3%
  10. echo    按任意键退出!
  11. pause>nul
复制代码

作者: ayiya147    时间: 2009-11-24 19:21

新手学习中...
作者: gdlkz    时间: 2009-11-25 14:18

  1. @echo off
  2. set var1=今日明月在
  3. set var2=%var1:~2,-1%
  4. set var3=%var1:~,2%
  5. set var4=%var1:~-1%
  6. echo %var2%%var3%%var4%
  7. pause
复制代码

作者: bjjgq    时间: 2009-12-3 16:53

练习一下子
  1. @echo off
  2. set var=今日明月在
  3. echo %var:~0,2%
  4. echo %var:~2,2%
  5. echo %var:~-1%
  6. echo.
  7. echo %var:~2,2%%var:~0,2%%var:~-1%
  8. pause
复制代码

作者: ggbb    时间: 2009-12-5 15:53

  1. @echo off
  2. set str=今日明月在
  3. set a=%str:~0,2%
  4. set b=%str:~2,2%
  5. set c=%str:~4,1%
  6. echo %a% %b% %c%
  7. echo %b%%a%%c%
  8. pause>nul
复制代码

作者: x576380361    时间: 2009-12-5 22:50

  1. @echo off
  2. echo 今日明月在
  3. set a=今日明月在
  4. set b=%a:~0,2%
  5. set c=%a:~2,2%
  6. set d=%a:~4,1%
  7. echo %b%
  8. echo %c%
  9. echo %d%
  10. echo %c%%b%%d%
  11. pause>nul
复制代码

作者: lvyaojian    时间: 2009-12-14 10:44

1.
  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%
  7. echo %b%
  8. echo %c%
  9. pause
复制代码
2.
  1. @echo off
  2. set str=今日明月在
  3. set a=%str:~0,2%
  4. set b=%str:~2,2%
  5. set c=%str:~-1%
  6. set /p=%b%%a%%c%<nul&echo.
  7. pause
复制代码

作者: wsjxwj    时间: 2009-12-14 15:51

  1. @echo off
  2. set str=今日明月在
  3. set aa=%str:~0,2%&set bb=%str:~2,2%&set cc=%str:~-1%
  4. ::分别输出"今日","明月","在"
  5. echo %aa%
  6. echo %bb%
  7. echo %cc%
  8. pause >nul
  9. ::输出"明月今日在"
  10. echo.%bb%%aa%%cc%
复制代码

作者: sxw    时间: 2009-12-14 22:54

  1. @echo off
  2. set str=今日明月在
  3. call,echo %%str:~0,2%%
  4. pause
  5. call,echo %%str:~2,2%%
  6. pause
  7. call,echo %%str:~-1%%
  8. pause
复制代码

作者: nuifv12    时间: 2009-12-16 14:32

  1. @echo off
  2. set a=今日明月在
  3. echo 原话为%a%,现通过该程序改为:
  4. set b=%a:~,2%
  5. set c=%a:~2,2%
  6. set d=%a:~4,1%
  7. echo %c%%b%%d%
  8. pause>nul
复制代码

作者: Kenmick    时间: 2010-1-19 20:11     标题: 新手交作业额~~~

  1. @echo off
  2. set a=今日明月在
  3. echo %a:~0,2%
  4. echo %a:~2,2%
  5. echo %a:~4,1%
  6. pause >nul
复制代码

作者: Kenmick    时间: 2010-1-19 20:17     标题: 继续交作业额~~~

题目进阶
  1. @echo off
  2. set a=今日明月在
  3. echo %a:~2,2%%a:~0,2%%a:~4,1%
  4. pause >nul
复制代码

作者: a590687    时间: 2010-1-19 20:37     标题: 新人倍出啊

我也来一份 按自己习惯写
  1. @echo off
  2. set a=今日明月在
  3. set b=%a:~,2%
  4. set c=%a:~2,2%
  5. set d=%a:~-1%
  6. echo %b%
  7. echo %c%
  8. echo %d%
  9. echo.
  10. set/p=%c%%b%%d%
  11. pause
复制代码

作者: mangci    时间: 2010-4-14 02:11

@ echo offset str=今日明月在echo %str:~2,2%&echo %str:~0,2%&echo %str:~-1%pause
作者: mangci    时间: 2010-4-14 02:39


作者: honeybat    时间: 2010-4-15 13:18

  1. @echo off
  2. set str=今日明月在
  3. echo %str:~0,2%
  4. echo %str:~2,2%
  5. echo %str:~4%
  6. echo %str:~2,2%%str:~0,2%%str:~4%
  7. pause>nul
复制代码

作者: bat204183    时间: 2010-4-17 20:01

  1. @echo off
  2. set name=今日明月在
  3. echo %name:~2,2%%name:~0,2%%name:~4,1%
  4. pause>nul
复制代码

作者: 634175535    时间: 2010-4-24 14:40

  1. @echo off
  2. echo 今日明月在
  3. set a=今日明月在
  4. echo  ``````````````````````````````````````````````````````
  5. echo                           载取后的效果
  6. echo  ``````````````````````````````````````````````````````
  7. echo.&echo.&echo.
  8. echo %a:~0,2%
  9. echo %a:~2,2%
  10. echo %a:~-1%
  11. pause>nul
复制代码

作者: mangci    时间: 2010-5-1 06:58

  1. @ echo off
  2. set "str=今日明月在"
  3. set "str1=%str:~2,2%"
  4. set "str2=%str:~0,2%"
  5. set "str3=%str:~4,1%
  6. echo,%str1%%str2%%str3%
  7. pause
复制代码

作者: sotary    时间: 2010-5-4 16:42

  1. @echo off
  2. set str=今日明月在
  3. echo %str:~0,2%
  4. echo %str:~2,2%
  5. echo %str:~-1,1%
  6. @echo on
复制代码

作者: lianjl    时间: 2010-5-8 17:51

  1. @echo off
  2. Set str=今日明月在
  3. Set var1=%str:~0,2%
  4. Set var2=%str:~2,2%
  5. Set var3=%str:~4,1%
  6. Echo %var1%
  7. Echo %var2%
  8. Echo %var3%
  9. pause
复制代码

作者: lianjl    时间: 2010-5-8 17:57     标题: 修改后为:

  1. @echo off
  2. Set str=今日明月在
  3. Set var1=%str:~0,2%
  4. Set var2=%str:~2,2%
  5. Set var3=%str:~4,1%
  6. Echo %var1%
  7. Echo %var2%
  8. Echo %var3%
  9. pause>nul
  10. echo %var2%%var1%%var3%
  11. pause>nul
复制代码

作者: middlelaw    时间: 2010-5-11 18:37

  1. @echo off
  2. set m=今日明月在
  3. echo %m%
  4. pause
  5. set a=%m:~0,2%
  6. set b=%m:~2,2%
  7. set c=%m:~-1%
  8. echo %a%
  9. echo %b%
  10. echo %c%
  11. pause
  12. echo %b%%a%%c%
  13. pause
复制代码

作者: rogue_1983    时间: 2010-6-25 10:32     标题: 不知道怎么样?

  1. @echo off
  2. set str=今日明月在
  3. set var=%str:~2,2%%str:~0,2%%str:~-1,1%
  4. echo %var%
  5. pause
复制代码

作者: zcydez    时间: 2010-6-25 14:27

set str=今日明月在
set s1=%str:~0,2%
set s1=%str:~2,2%
作者: zcydez    时间: 2010-6-25 14:28

  1. @echo off
  2. set str=今日明月在
  3. echo %str:~0,2%
  4. echo %str:~2,2%
  5. echo %str:~4,1%
  6. echo %str:~2,2%%str:~0,2%%str:~-1%
  7. pause
复制代码

作者: poxi    时间: 2010-7-19 12:57

答:
  1. @echo off
  2. ::=======A1====
  3. set Q=今日明月在
  4. echo %Q:~0,2%
  5. echo %Q:~2,2%
  6. echo %Q:~-1,1%
  7. ::=======A2====
  8. echo %Q:~2,2%%Q:~0,2%%Q:~-1,1%
  9. ::=======end===
  10. pause>nul
复制代码
效果:
[attach]2731[/attach]

是要这样么,题目没太懂...
==========
end;
作者: fish    时间: 2010-7-29 18:26     标题: 不知道还能再精简吗?

  1. @echo off
  2. set n=今日明月在
  3. echo n=%n%
  4. echo %n:~2,2%%n:~,2%%n:~-1%
  5. pause>nul
复制代码

作者: paladinjin    时间: 2010-8-25 17:02

太棒了 又学习了新知识
  1. @echo off
  2. set "a=今日明月在"
  3. set a1=%a:~0,2%
  4. set a2=%a:~2,2%
  5. set a3=%a:~-1,1%
  6. echo %a2%%a1%%a3%
  7. pause>nul
复制代码

作者: leap    时间: 2010-8-29 15:10

  1. @echo off
  2. set abc=今日明月在
  3. echo %abc%
  4. echo %abc:~4,1%%abc:~3,1%%abc:~2,1%%abc:~1,1%%abc:~0,1%
  5. echo %abc:~-1%%abc:~-2,1%%abc:~-3,1%%abc:~-4,1%%abc:~-5,1%
  6. echo %abc:~-1%%abc:~-2,-1%%abc:~-3,-2%%abc:~-4,-3%%abc:~-5,-4%
  7. pause>nul
复制代码

作者: liangdongjuan    时间: 2010-9-13 11:34     标题: 答案

  1. echo off
  2. set ss=今日明月在
  3. set a=%ss:~0,2%
  4. set b=%ss:~2,2%
  5. set c=%ss:~4,1%
  6. echo %b%%a%%c%
  7. pause
复制代码

作者: lvsehuaxue    时间: 2010-9-16 20:53     标题: 献丑

  1. @echo off
  2. set a=今日明月在
  3. echo %a:~2,2%%a:~0,2%%a:~-1%
  4. pause >nul
复制代码

作者: qinshi52    时间: 2010-10-6 23:01

  1. @echo off
  2. cls
  3. set var=今日明月在
  4. set a=%var:~0,2%  
  5. set b=%var:~2,2%
  6. set c=%var:~-1%
  7. echo %a%  %b%   %c%
  8. pause
复制代码
  1. @echo off
  2. cls
  3. set var=今日明月在
  4. set a=%var:~0,2%  
  5. set b=%var:~2,2%
  6. set c=%var:~-1%
  7. set d=%b%%a%%c%
  8. set s=%d: =%
  9. echo %s%
  10. pause
复制代码

作者: zsllq    时间: 2010-10-27 22:44

  1. 题一:
  2. @echo off
  3. set var=今日明月在
  4. echo %var:~0,2%
  5. echo %var:~-3,-1%
  6. echo %var:~-1%
  7. pause>nul
  8. 题二:
  9. @echo off
  10. set var=今日明月在
  11. set a=%var:~2,2%
  12. set b=%var:~0,2%
  13. set c=%var:~-1%
  14. echo %a%%b%%c%
  15. pause>nul
复制代码

作者: weichenxiehou    时间: 2010-10-28 18:46

  1. @echo off
  2. set "qqname=今日明月在"
  3. echo %qqname:~0,2%
  4. echo %qqname:~2,2%
  5. echo %qqname:~4,1%
  6. echo %qqname:~2,2%%qqname:~0,2%%qqname:~4,1%
  7. pause
复制代码

作者: lzx    时间: 2010-11-2 23:34

总算是写出来了,额。。。。
@echo off
set /p aa=于此输五位数
set a=%aa:~0,1%
set b=%aa:~1,1%
set c=%aa:~2,1%
set d=%aa:~3,1%
set e=%aa:~4,1%
set /a c=%a%+%b%+%c%+%d%+%e%
echo %c%
pause
exit
作者: lzx    时间: 2010-11-3 00:05

做错题了,补充下:
@echo off
set a=今日明月在
set b=%a:~0,2%
set c=%a:~2,2%
set d=%a:~-1,1%
echo %b%&echo %c%&echo %d%&echo %c%%b%%d%
pause
exit
作者: skuny    时间: 2010-12-22 23:19

  1. @echo off
  2. set a=今日明月在
  3. echo %a:~0,2%
  4. echo %a:~2,2%
  5. echo %a:~-1%
  6. echo %a:~2,2%%a:~0,2%%a:~-1%
  7. pause
复制代码





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