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

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

[复制链接]
发表于 2012-11-3 22:22:09 | 显示全部楼层
  1. @echo off
  2. set nick=今日明月在
  3. echo %nick:~0,2%
  4. echo %nick:~2,2%
  5. echo %nick:~-1%
  6. echo.
  7. for %%i in (%nick:~0,2%,%nick:~2,2%,%nick:~-1%) do (
  8.         echo %%i
  9. )
  10. pause>nul
复制代码
发表于 2012-11-5 07:49:30 | 显示全部楼层
回复 124# xuhuoren


for命令是多余的
  1. @echo off
  2. set nick=今日明月在
  3. echo %nick:~0,2%
  4. echo %nick:~2,2%
  5. echo %nick:~-1%
  6. echo %nick:~2,2%%nick:~0,2%%nick:~-1%
  7. pause>nul
复制代码
发表于 2012-11-5 07:51:22 | 显示全部楼层
回复 123# collapsar


调整一下变量的顺序就行了
  1. @echo off
  2. set var=今日明月在
  3. echo %var:~0,2% & echo %var:~2,2% & echo %var:~-1%
  4. echo %var:~2,2%%var:~0,2%%var:~-1%
  5. pause
复制代码
发表于 2013-1-14 21:01:06 | 显示全部楼层

  1. @echo off
  2. set var=今日明月在
  3. echo %var:~2,2%%var:~0,2%%var:~-1%
  4. pause
复制代码
发表于 2013-1-27 22:34:27 | 显示全部楼层
  1. @echo off
  2. set a=今日明月在
  3. echo %a:~2,2%%a:~0,2%%a:~4,1%
  4. pause
复制代码
发表于 2013-2-3 21:03:18 | 显示全部楼层
@echo off
set var=今日明月在
echo %var:~0,2%
echo %var:~2,2%
echo %var:~-1%
pause


要怎么 弄成在一行的啊???
发表于 2013-2-6 18:35:53 | 显示全部楼层
  1. @echo off
  2. set a="今日明月在"
  3. set b=%a:~1,2%
  4. echo %b%
  5. set b=%a:~3,2%
  6. echo %b%
  7. set b=%a:~5,1%
  8. echo %b%
  9. pause
复制代码
发表于 2013-4-3 12:29:29 | 显示全部楼层
@echo off
set a=今日明月在
set a1=%a:~2,2%
set a2=%a:~0,2%
set a3=%a:~-1%
echo %a1%
echo %a2%
echo %a3%
pause
发表于 2013-4-3 12:33:01 | 显示全部楼层
回复 131# annali74

下面是在一行显示的
@echo off
set a=今日明月在
set a1=%a:~2,2%
set a2=%a:~0,2%
set a3=%a:~-1%
echo %a1%
echo %a2%
echo %a3%
echo %a2%%a1%%a3%
pause
发表于 2013-4-22 12:36:49 | 显示全部楼层
  1. @echo off
  2. chcp 936>nul

  3. set "str=今日明月在"

  4. :: 00 请分别截取“今日”、“明月”、“在”,并显示出来
  5. set "str01=%str:~,2%"
  6. set "str02=%str:~2,2%"
  7. set "str03=%str:~-1,1%"
  8. echo %str01%
  9. echo %str02%
  10. echo %str03%

  11. :: 01 通过变量截取把 “今日明月在” 变成 “明月今日在” 显示出来
  12. set /p=%str02%%str01%%str03%<nul
  13. echo.

  14. pause
复制代码
发表于 2013-5-18 12:07:03 | 显示全部楼层

  1. @set a=今日明月在
  2. @echo %a:~2,2%%a:~0,2%%a:~4,1%
  3. @pause >nul
复制代码
发表于 2013-6-16 13:46:13 | 显示全部楼层
@echo off

set str=今日明月在


echo %str:~0,2%

echo %str:~2,2%

echo %str:~4%
pause
不是太懂中间为什么是2,2
发表于 2013-7-18 20:37:35 | 显示全部楼层
今日  明月  在
  1. @echo off
  2. set str=今日明月在
  3. set var=%str:~0,2% %str:~2,2% %str:~4,1%
  4. for %%i in (%var%) do echo %%i
  5. pause
复制代码
明月  今日  在
  1. @echo off
  2. set str=今日明月在
  3. set var=%str:~2,2% %str:~0,2% %str:~4,1%
  4. for %%i in (%var%) do echo %%i
  5. pause
复制代码
发表于 2013-8-5 13:54:53 | 显示全部楼层
  1. @echo off
  2. set str=JRMYZ
  3. echo %str:~0,2%



  4. set str=JRMYZ
  5. echo %str:~2,2%

  6. set str=JRMYZ
  7. echo %str:~4,1%
  8. pause
复制代码
发表于 2013-12-7 21:25:28 | 显示全部楼层
  1. @echo off

  2. set str=今日明月在

  3. set v=%str:~0,2%
  4. set a=%str:~2,2%
  5. set r=%str:~4,1%

  6. echo %v% %a% %r%

  7. echo %a%%v%%r%
  8. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 06:51 , Processed in 0.017067 second(s), 6 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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