标题: 批处理用sed生成出文件后是乱码,怎么解决? [打印本页]
作者: laimao 时间: 2010-12-21 19:48 标题: 批处理用sed生成出文件后是乱码,怎么解决?
P和文本都用ANSI 也不行 还是出现乱码 实在没办法 请教各位
批处理如何让语句自动随机字数(4-6个)换行,自动去标点符号和空格还有数字
例文章:
据中国之声《新闻晚高峰》报道,住建部最近发布了新版《商品房屋租赁管理办法》,对市场中将房屋分拆、隔断“化整为零”群租行为明令禁止,打隔断出租最高将罚3万。新规将于2011年2月1日施行。新规实施后,隔断间的广大租户将何去何从?
批处理后:
据中国之
声新闻晚高峰
报道住建部最
近发布了新
版商品房
屋租赁管理办
法对市场中
...
直到文章结束
源文件1.txt
输出文件2.txt
- @echo off
- sed "s/[0-9]//g; s/[,。?!《》()“”、…—]//g" "1.txt">Hanye.h
- chcp 936 >nul&graftabl 936 >nul
- for /f "delims=" %%a in (Hanye.h) do call:Han "%%a"
- del /q Hanye.h
- exit
- :Han:初始化
- set "Ye=%~1"
- setlocal enabledelayedexpansion
- :Ye:循环分隔单行
- set/a Xing=%random%%%3+4
- >>"2.txt" echo !Ye:~%Gu%,%Xing%!
- set/a Gu+=%Xing%
- if not "!Ye:~%Gu%!"=="" goto:Ye
- Endlocal
复制代码
[ 本帖最后由 laimao 于 2010-12-21 20:28 编辑 ]
作者: laimao 时间: 2010-12-21 20:04
或者改这段代码 改成读取a.txt 生成出b.txt
- @echo off&setlocal enabledelayedexpansion
- set "str=据中国之声《新闻晚高峰》报道,住建部最近发布了新版《商品房屋租赁管理办法》"
- for %%a in (, 、 ? 《 》 。 “ ” …… ! 0 1 2 3 4 5 6 7 8 9) do set str=!str:%
-
- %a=!
- :lp
- set /a v=%random%%%3+4
- if "%str%" neq "" (
- set str1=!str:~,%v%!
- echo !str1!
- set str=!str:~%v%!
- goto lp
- )
- pause
复制代码
[ 本帖最后由 laimao 于 2010-12-21 20:29 编辑 ]
作者: ithinkican 时间: 2010-12-21 21:26
sed是第三方命令行工具,没安装则无法正常使用其功能。下载安装后就可以了…
[ 本帖最后由 ithinkican 于 2010-12-21 21:28 编辑 ]
作者: laimao 时间: 2010-12-21 21:41
当然装了。。
作者: ithinkican 时间: 2010-12-22 03:04
你上面代码里面有sed??…
作者: laimao 时间: 2010-12-22 14:27 标题: 回复 5楼 的帖子
- @echo off
- sed "s/[0-9]//g; s/[,。?!《》()“”、…—]//g" "1.txt">Hanye.h
- chcp 936 >nul&graftabl 936 >nul
- for /f "delims=" %%a in (Hanye.h) do call:Han "%%a"
- del /q Hanye.h
- exit
- :Han:初始化
- set "Ye=%~1"
- setlocal enabledelayedexpansion
- :Ye:循环分隔单行
- set/a Xing=%random%%%3+4
- >>"2.txt" echo !Ye:~%Gu%,%Xing%!
- set/a Gu+=%Xing%
- if not "!Ye:~%Gu%!"=="" goto:Ye
- Endlocal
复制代码
作者: laimao 时间: 2010-12-24 03:20
有没有人啊。。
[ 本帖最后由 laimao 于 2010-12-24 03:22 编辑 ]
作者: xiaoyuwxz 时间: 2010-12-24 11:20
用记事本打开的确会是乱码,但写字板打开正常。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |