[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off&setlocal enabledelayedexpansion
  2. set n=-1
  3. for /f "tokens=*" %%a in (a.txt) do (
  4. set str=%%a
  5. set t=!t!!str:~,1!
  6. set w=!w!!str:~-1!
  7. set t!str:~,1!=%%a
  8. set w!str:~-1!=%%a
  9. set/a n+=1
  10. )
  11. for /l %%a in (0,1,!n!) do for %%b in ("!t:~%%a,1!") do (
  12. if "!w:%%~b=!" neq "!w!" for %%c in ("!t%%~b:~-1!") do set w=%%~c!w:%%~c=!
  13. )
  14. for /l %%a in (0,1,!n!) do for %%b in ("!w:~%%a,1!") do echo;!w%%~b!
复制代码
1

评分人数

    • wxcute: 测试如下样本不正确 d a c b a c f q ...PB + 3

TOP

这个可以了,支持字母以外的字符

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%a in (a.txt) do (
  3.         set str=%%a
  4.         set t=!t!!str:~,1!
  5.         set w=!w!!str:~-1!
  6.         set t!str:~,1!=%%a
  7. )
  8. :lp
  9. (
  10. for %%b in (!t!) do (
  11.         for %%c in ("!t%%~b:~-1!") do (
  12.                 set str=!w:*%%~b=!
  13.                 if !str! neq !w! (
  14.                         if "!str:%%~c=!" neq "!str!" (
  15.                                 set w=%%~c !w: %%~c=!
  16.                                 set t=%%b !t: %%b=!
  17.                         )
  18.                 )
  19.         )
  20. )
  21. if "%w%" neq "!w!" goto :lp)
  22. for %%b in (!t!) do echo;!t%%~b!
复制代码
1

评分人数

    • wxcute: 补上加分。现测试正常,之前是我操作出错。PB + 10

TOP

re 版主

我自己从论坛复制下来的,经测试也正常呀,
可能是太快了,一闪而过吧
在后面加个暂停看看

TOP

re 版主

确实我从论坛复制下来测试没有问题,所以。。。

原来是有时候复制和粘贴代码时会丢掉后面的空格。

不好意思,看来我要改掉不加双引号的习惯才行

TOP

返回列表