标题: [文本处理] 批处理如何将txt文本里的指定字符随机替换成其他指定字符 [打印本页]
作者: bsxwzy 时间: 2012-4-19 12:35 标题: 批处理如何将txt文本里的指定字符随机替换成其他指定字符
本帖最后由 pcl_test 于 2016-7-28 01:19 编辑
比如a.txt文本内容为
"考虑时间的风格_没戏哪款更_地理景观卡拉蜂杰拉德"
把"_"随机替换成"/" "+" ")"
例1"考虑时间的风格/没戏哪款更+地理景观卡拉蜂杰拉德"
例2 "考虑时间的风格)没戏哪款更/地理景观卡拉蜂杰拉德"
指定a.txt的文件麻烦写一个。另外要是批处理一个文件夹里所有txt文本又怎么写呢。
麻烦高手帮忙写一下了,谢谢啊。
作者: fatcat 时间: 2012-4-19 13:42
- @echo off & setlocal enabledelayedexpansion
- set "r0=/" & set "r1=+" & set "r2=)"
- for /f "tokens=*" %%f in ('dir /b *.txt') do (echo %%f
- > ~tmp (
- for /f "useback delims=" %%l in ("%%f") do (
- (set lin="%%l") & (set lin=!lin:_=" "!) & set "line="
- for %%a in (!lin!) do (
- set "line=!line!%%~a"
- set /a "r=!random! %% 3"
- for %%r in (r!r!) do set "line=!line!!%%r!"
- )
- echo,!line:~0,-1!
- ) )
- copy /y ~tmp "%%f"
- )
- del ~tmp
复制代码
作者: lvsehuaxue 时间: 2012-4-19 14:35
- @echo off&setlocal enabledelayedexpansion
- set "str1= /)+"
- for /l %%i in (1 1 3) do set .%%i=!str1:~%%i,1!
- for %%b in (*.txt) do (
- (for /f "delims=" %%a in (a.txt) do (
- set "str=%%a"
- set "str=!str:_= !"
- for %%i in (!str!) do (
- set /a "var=!random!%%3+1
- call set "str2=!str2!%%i%%.!var!%%"
- )
- echo !str2:~,-1!
- set "str2="
- ))>$
- move $ %%b
- )
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |