Board logo

标题: [其他] [已解决]批处理怎样替换字符? [打印本页]

作者: qq506657335    时间: 2010-9-16 20:09     标题: [已解决]批处理怎样替换字符?

如有一文本a.txt,内容为abcdef
用批处理将每一位往前移一位,使输出zabcde
感谢batman,还有其他一起提供代码的友友。,很强大,,

[ 本帖最后由 qq506657335 于 2010-9-17 19:08 编辑 ]
作者: edmond    时间: 2010-9-16 21:51

按照你 说的是应该是往后面移了一位吧
作者: bluewing009    时间: 2010-9-17 00:12

…………先获得最后一个,然后把剩下的顺序输出。 不必考虑每个的位置,因为对应关系一定。
作者: batman    时间: 2010-9-17 17:09     标题: 适合单行字符数在80个字以内的文本处理:

  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (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 (
  3.     if defined flag (
  4.        set "_%%a=!str!"
  5.        ) else (
  6.        set "flag=a"
  7.     )
  8.     set "str=%%a"
  9. )
  10. set "_a=z"
  11. for /f "delims=" %%a in (a.txt) do (
  12.     set "str=%%a"&set "strs="
  13.     for /l %%b in (0,1,80) do (
  14.         set "var=!str:~%%b,1!"
  15.         for %%c in (!var!) do set "strs=!strs!!_%%c!"
  16.     )
  17.     echo !strs!
  18. )
  19. pause>nul
复制代码

作者: batman    时间: 2010-9-17 17:13     标题: 附测试文本:

  1. anszmkcrl
  2. posqtktbemih
  3. lnmenpokc
  4. abcdefghijklmnopqrstuvwxyz
复制代码





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