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

TOP

回复 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,利于测试。
(*^_^*)

TOP

@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 编辑 ]
1

评分人数

    • wxcute: 代码请用CODE,而不要用QUOTE。 另:提示字 ...PB + 1

TOP

答案

@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%
*********************

TOP

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

评分人数

TOP

  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 编辑 ]

TOP

@echo off

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

pause

TOP

  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 编辑 ]

TOP

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

这一句不知语法有没有错?感觉几个变量连在一起没有分隔好像有点不对的?
1

评分人数

    • wxcute: 有时这个“感觉”是不可靠的,看看实际测试 ...PB + 1

TOP

@echo off
set str=今日明月在
echo %str%
echo %str:~2,2%%str:~0,2%%str:~4,1%
pause>nul
嘿嘿~~~~~~~~~我也会了!

TOP

  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 编辑 ]

TOP

批处理简易变量截取:
@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

TOP

练习

@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

TOP

方法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 编辑 ]

TOP

@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
一切开始于结束之后.....

TOP

返回列表