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

[ 新手练习 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 编辑 ]
1

评分人数

我很郁闷!
有符号我到是搞的出来!居然没了符号搞不出来了!哎!~难到我了!
本人已死!不用联系!~
要联系下来联系!~~

TOP

我顶!谁来回答下!我好学习啊!
本人已死!不用联系!~
要联系下来联系!~~

TOP

回复 3楼 的帖子

少提问,多看帮助和教程,就会了。
set /?
for /?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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


话说batcher的新签名很强大,但是我支持!!
1

评分人数

TOP

5楼干嘛把代码写得这么复杂呢?

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

TOP

IF NOT DEFINED DEBUG @ECHO OFF
SET "VAR1=今日明月在"
SET "VAR2=%VAR1:今日明月=明月今日%"
ECHO %VAR2%

TOP

回七楼

%VAR1:今日明月=明月今日%
你这样可是字符替换阿,要看清题意。做个小惩罚。

TOP

回复 8楼 的帖子

1. 顶楼并未指明答错要扣分。
2. 作为新手练习,出错是在所难免的。
鉴于以上原因,扣分这个做法是否有所不妥呢?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

@IF NOT DEFINED DEBUG @ECHO OFF

SET "VAR=今日明月在"
SET "VAR1=%VAR:~2,2%%VAR:~0,2%%VAR:~4,1%"
ECHO %VAR1%
1

评分人数

    • wxcute: 再简单点就是直接echo了PB + 3

TOP

回 9 楼

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

还有 sylovanas 你也见识了,可不是新手。^_^

TOP

回复 11楼 的帖子

1.  不管是不是新手,扣分总是会影响积极性。
2. 如果确实需要“奖罚分明”,建议在顶楼明确指出答错要扣分。
尽量避免潜在的不必要的矛盾^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

知道了,下次一定注意。

TOP

通过变量截取把 “今日明月在” 变成 “明月今日在” 显示出来。
  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
复制代码
1

评分人数

TOP

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

评分人数

    • wxcute: 也鼓励一下,过去很长时间了。PB + 2
目的,学习批处理

TOP

返回列表