[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set str1=!好你,nc.emohtab.sbb
  4. set /a n=0
  5. :loop
  6. set str2=!str1:~%n%,1!%str2%
  7. set /a n+=1
  8. if "!str1:~%n%,1!" neq "" goto loop
  9. echo 原字符串为:    %str1%
  10. echo 倒序后字符串为:%str2%
  11. pause>nul
复制代码


题目是可以完成了,但是遇到几个不明白的地方,希望高人指点一二。

第一:如果字符串中的感叹号换成英文输入法下的感叹号,上面的代码就不显示感叹号了,请问如何解决,尝试过楼上高手的代码,用set /p是可以输出英文感叹号的,为什么呢?


第三:如果将以上代码改一下,换成下面的

@echo off
setlocal enabledelayedexpansion
set str1=!好你,nc.emohtab.sbb
:loop
set /a n+=1
set str2=%str2%!str1:~-%n%,1!
if "!str1:~-%n%,1!" neq "" goto loop
echo 原字符串为:    %str1%
echo 倒序后字符串为:%str2%
pause>nul

这个代码就不会停止,请教是何道理?
只不过取字符的方向换了下而已啊。
1

评分人数

    • wxcute: "!str1:~-%n%,1!"我了个“-”负号,应为: .PB + 5

TOP

非常感谢楼上高手讲解,一定努力学习,自己多动手才是王道,谢谢楼上大侠!

TOP

  • wxcute PB +5 "!str1:~-%n%,1!"我了个“-”负号,应为: . 2008-12-28 19:28

wxcute,小弟愚笨,没看懂啥意思啊

我上下两段代码不一样的,一个有负号,一个没有的。

TOP

回14楼 wxcute 帖子

原帖由 wxcute 于 2008-12-30 11:07 发表
一个长度固定的字串,从前面数和从后面数长度是不会变的。


楼主说的有道理,总算理解楼主的意思了,高手说话都不一样。

[ 本帖最后由 leaparde 于 2008-12-30 12:28 编辑 ]

TOP

但是还是有一点疑问,为什么我从后往前去判断的时候,他就不停下来呢??

如果有高手指点一下就好了,谢谢。

TOP

返回列表