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

[文本处理] 批处理如何将txt文本里的指定字符随机替换成其他指定字符

本帖最后由 pcl_test 于 2016-7-28 01:19 编辑

比如a.txt文本内容为
"考虑时间的风格_没戏哪款更_地理景观卡拉蜂杰拉德"

把"_"随机替换成"/" "+"  ")"
例1"考虑时间的风格/没戏哪款更+地理景观卡拉蜂杰拉德"
例2 "考虑时间的风格)没戏哪款更/地理景观卡拉蜂杰拉德"


指定a.txt的文件麻烦写一个。另外要是批处理一个文件夹里所有txt文本又怎么写呢。

麻烦高手帮忙写一下了,谢谢啊。

  1. @echo off&setlocal enabledelayedexpansion
  2. set "str1= /)+"
  3. for /l %%i in (1 1 3) do set .%%i=!str1:~%%i,1!
  4. for %%b in (*.txt) do (
  5.   (for /f "delims=" %%a in (a.txt) do (
  6.      set "str=%%a"
  7.      set "str=!str:_= !"
  8.      for %%i in (!str!) do (
  9.         set /a "var=!random!%%3+1
  10.         call set "str2=!str2!%%i%%.!var!%%"
  11.      )
  12.      echo !str2:~,-1!
  13.      set "str2="
  14.   ))>$
  15.   move $ %%b
  16. )
复制代码

TOP

  1. @echo off & setlocal enabledelayedexpansion
  2. set "r0=/" & set "r1=+" & set "r2=)"
  3. for /f "tokens=*" %%f in ('dir /b *.txt') do (echo %%f
  4.   > ~tmp (
  5.     for /f "useback delims=" %%l in ("%%f") do (
  6.       (set lin="%%l") & (set lin=!lin:_=" "!) & set "line="
  7.       for %%a in (!lin!) do (
  8.         set "line=!line!%%~a"
  9.         set /a "r=!random! %% 3"
  10.         for %%r in (r!r!) do set "line=!line!!%%r!"
  11.       )
  12.       echo,!line:~0,-1!
  13.   ) )
  14.   copy /y ~tmp "%%f"
  15. )
  16. del ~tmp
复制代码

TOP

返回列表