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

[其他] [已解决]批处理怎样替换字符?

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

[ 本帖最后由 qq506657335 于 2010-9-17 19:08 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

按照你 说的是应该是往后面移了一位吧

TOP

…………先获得最后一个,然后把剩下的顺序输出。 不必考虑每个的位置,因为对应关系一定。

TOP

适合单行字符数在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
复制代码
1

评分人数

***共同提高***

TOP

附测试文本:

  1. anszmkcrl
  2. posqtktbemih
  3. lnmenpokc
  4. abcdefghijklmnopqrstuvwxyz
复制代码
***共同提高***

TOP

返回列表