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

[特效代码] [已解决]批处理用彩色输出输入的任意文字如何兼容特殊字符


又是该死的特殊字符 主要是& < > . \ / 等一些讨厌的特殊字符
代码的雏形如下 不知道怎么处理(我用过md ***||等等方法 还是没用)
  1. @echo off&setlocal EnableDelayedExpansion
  2. color F8
  3. set q=0
  4. set /p z=输入一句话:
  5. :begin
  6. set /a x=%random%%%9+1
  7. set /p= !z:~0,1!<nul&goto :next
  8. set /p= <nul>"!z:~0,1!" 2>nul&findstr /a:F!x! .* *!z:~0,1! 2>nul&del "!z:~0,1!" 2>nul
  9. :next
  10. set z=!z:~1!
  11. ping /n 1 127.1 >nul
  12. set q=0
  13. if defined z goto :begin
  14. pause>nul
  15. exit
复制代码
现在在想在set /p= !z:~0,1!<nul&goto :next前写一句用于执行它的代码(也就是当为那些特殊字符时执行它的 否则不执行) 这里想不出............
想了快2个消失了 恕我愚昧.............................这个问题 对特殊代码的判断实在是让我很头疼
希望你能耐心解答 谢谢

[ 本帖最后由 基拉freedom 于 2009-8-23 09:11 编辑 ]
1

评分人数

    • Batcher: 感谢主动给标题标注[已解决]字样PB + 2
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

希望有经验的能给我一点建议 我今天就到这里了 麻烦你们了.....
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

TOP

呼呼
自己解决了 虽然方法来得很粗糙 已能解决发现的特殊字符:
  1. @echo off&setlocal EnableDelayedExpansion
  2. color F8
  3. set q=0
  4. set /p z=输入一句话:
  5. :begin
  6. set /a x=%random%%%9+1
  7. set "o=!z:~0,1!"
  8. set o=!o:^<= !
  9. set o=!o:^>= !
  10. set o=!o:^.= !
  11. set o=!o:^|= !
  12. set o=!o:^&= !
  13. set o=!o:t= !
  14. if "!o!"==" " set /p= !z:~0,1!<nul&goto :next
  15. set /p= <nul>"!z:~0,1!" 2>nul&findstr /a:F!x! .* *!z:~0,1! 2>nul&del "!z:~0,1!" 2>nul
  16. :next
  17. set z=!z:~1!
  18. ping /n 1 127.1 >nul
  19. set q=0
  20. if defined z goto :begin
  21. pause>nul
  22. exit
复制代码

[ 本帖最后由 基拉freedom 于 2009-8-23 09:12 编辑 ]
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

TOP

还以为你能彩色输出特殊字符。。。
最好说清楚你的解决方法,判断是特殊字符就不对它彩色输出。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表