Board logo

标题: [文本处理] 求字符串前几位相同的批处理错在哪里? [打印本页]

作者: 悬崖之树    时间: 2012-12-17 18:38     标题: 求字符串前几位相同的批处理错在哪里?

  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
复制代码
为什么输入字符串后就退出了?
作者: BAT-VBS    时间: 2012-12-17 18:49

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

作者: 悬崖之树    时间: 2012-12-17 19:50

回复 2# BAT-VBS
  1. if "!s:~%n%,1!" equ "!s:~%k%,1!"
复制代码
为什么要加上双引号?
作者: QIAOXINGXING    时间: 2012-12-17 21:30

回复 3# 悬崖之树


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




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2