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

[文本处理] 求字符串前几位相同的批处理错在哪里?

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p s=请输入字符串:
  4. set n=0
  5. :loop
  6. set /a k=%n%+1
  7. if !s:~%n%,1!==!s:~%k%,1! (
  8.   set /a n=%n%+1 & goto loop
  9. )
  10. echo 前%k%位相同!
  11. pause
复制代码
为什么输入字符串后就退出了?
时光荏苒||新陈代谢&&涛声依旧||本性难移

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set /p s=请输入字符串:
  4. set n=0
  5. set k=0
  6. :loop
  7. set /a k=n+1
  8. if "!s:~%n%,1!" equ "!s:~%k%,1!" (
  9.     set /a n+=1
  10.     goto :loop
  11. )
  12. echo 前%k%位相同!
  13. pause
复制代码

TOP

回复 2# BAT-VBS
  1. if "!s:~%n%,1!" equ "!s:~%k%,1!"
复制代码
为什么要加上双引号?
时光荏苒||新陈代谢&&涛声依旧||本性难移

TOP

回复 3# 悬崖之树


    貌似是因为这个:http://www.bathome.net/viewthread.php?tid=4285

TOP

返回列表