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

[文本处理] 批处理实现字符串反转倒序输出

这是JM的
  1. @echo off
  2. :: 反序显示输入,能处理 数字+字母(区分大小写)+符号 格式的混合型输入
  3. :: 区分大小写
  4. :: 稍加改造,可以实现密码的枚举?
  5. :: 不能处理的字符:
  6. :: 管道符号:|
  7. :: 重定向符号:<、>
  8. :: 连接符号:&
  9. :: 脱字或逃逸符号:%、^
  10. :: 其他符号:?、*、)、=、;、"
  11. :: code by jm 2006-9-7 CMD@XP
  12. cls
  13. set input=
  14. set /p input=           请输入一个字符串
  15. set output=
  16. if not "%input%"=="" set input=%input%
  17. :loop
  18. for %%i in (0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ` ~ ! @ # $ ^( - + . / \ [ ] { } : ') do (
  19.     (if %input:~-1% equ %%i set output=%output%%%i)&&set input=%input:~0,-1%
  20. )
  21. if not "%input%"=="" goto :loop
  22. echo        反序显示输入,结果是 %output%
复制代码
这是 也不知道哪里弄来的
  1. @echo off
  2. :star
  3. set Output=
  4. set /p Enter=请输入:
  5. :Start
  6. if not "%Enter%"=="" (
  7. set Output=%Output%%Enter:~-1%
  8. set Enter=%Enter:~0,-1%
  9. goto :Start)
  10. echo.
  11. echo        %Output%
  12. pause >nul&goto :Star
复制代码
还有一个是我无聊写写的
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set /p input=
  4. set n=1
  5. set "num=%input%"
  6. :begin
  7. set num1=!num:~-%n%,1!
  8. if "!num1!"=="" goto out
  9. set "src=!src!!num1!"
  10. set /a n=!n!+1
  11. goto begin
  12. :out
  13. echo !src!
  14. pause
复制代码
写这个有很多种的想法
JM版主写得是用for来查找相同的字符并对其赋值
我写的和第二个一样 只是单纯的对字符进行传输
对于非法字符也通过了
其实我很想知道为什么JM版主要用上这样的写法 和 这种写法有什么好处吗?
我希望能够知道
这里 还希望大家一起讨论下关于倒文输出的其他思路 方便交流 ~谢谢
1

评分人数

    • 112: 谢谢大佬!技术 + 1
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~


知道了原来是为了逃避特殊字符的干扰
写得很好 很佩服 不知像我那种写法如何进行提高 还要研究一下
o(∩_∩)o...~~~
空间:http://hi.baidu.com/fair_jm
喜欢批处理的没事的话去逛逛哦~~

TOP

返回列表