标题: [文本处理] 批处理for /f不支持UTF-8编码怎么办? [打印本页]
作者: applba 时间: 2011-5-25 01:05 标题: 批处理for /f不支持UTF-8编码怎么办?
如题。有什么变通的办法吗?
要求不要使用第三方工具,不能转换文本文件编码到ansi。
作者: batman 时间: 2011-5-25 01:08
先type或more
作者: applba 时间: 2011-5-25 02:45
2# batman
type和more均无效。
测试代码- @echo off
- SETLOCAL EnablEdElayEdExpansion
- ( for /f "skip=8 tokens=3,4 delims=<>" %%a in ('more plugin.txt') do (
- set "n=%%b "
- set n=!n:~1,15!
- echo !n! %%a
- ))>1.txt
- start /max 1.txt
- pause
复制代码
作者: qzwqzw 时间: 2011-5-25 08:33
碰到UTF-8的文件
应用要求不高的直接以乱对乱
直接以UTF-8在ANSI下的乱码形式进行处理
应用要求较高一般先转换编码再处理
cmd处理UTF-8的能力较弱
可以使用chcp 65001转换代码页
并改换cmd窗口字体为Lucida Console后
可以type文件显示正常
但是无法用for/f进行文本分析
作者: fengyun530 时间: 2011-5-25 09:24
2# batman
type和more均无效。
测试代码@echo off
SETLOCAL EnablEdElayEdExpansion
( for /f "skip=8 tokens=3,4 delims=" %%a in ('more plugin.txt') do (
set "n=%%b "
set n=!n:~1, ...
applba 发表于 2011-5-25 02:45
set "n=%%b
这里的b是在上下文的什么地方呢?
作者: wc726842270 时间: 2011-5-25 11:49
3# applba
type和more对UNICODE起作用,但是UTF-8就不得而知了
作者: Bearxy 时间: 2011-5-25 12:23
set "n=%%b
这里的b是在上下文的什么地方呢?
fengyun530 发表于 2011-5-25 09:24
倒,哥们看来你的FOR比我还水呀,哈哈.建议你看看论坛的FOR教程.
他上文不是有个tokens=3,4嘛,第三节是%%a,第四节就是%%b了.
作者: applba 时间: 2011-5-25 20:46
4# qzwqzw
倒……
unicode包含ucs-2 big edition和little editon
utf-8又分为又bom和无bom格式……
看来还是python有搞头,慢慢啃python mannual
作者: 秋风·飞扬 时间: 2012-5-13 15:27
要是解决不了,就推荐个第三方软件吧,要是能解决就说具体一点的解决办法,我也等着用呢
作者: Demon 时间: 2012-5-13 20:56
- @echo off
- SETLOCAL EnablEdElayEdExpansion
- chcp 65001
- (for /f "skip=8 tokens=3,4 delims=<>" %%a in (plugin.txt) do (
- set "n=%%b "
- set n=!n:~1,15!
- echo !n! %%a
- ))>1.txt
- start /max 1.txt
- pause
复制代码
Microsoft Windows 7 Ultimate Service Pack 1
作者: Demon 时间: 2012-8-19 11:18
XP下CMD有BUG,chcp 65001会导致错误,就上面的文本而言可以这么处理。- @echo off
- setlocal enabledelayedexpansion
- chcp 437 > nul
- (for /f "skip=8 tokens=3,4 delims=<>" %%a in (plugin.txt) do (
- set "b=%%b"
- echo !b:~1! %%a
- )) > 1.txt
- pause
复制代码
作者: 狗屁不通 时间: 2012-8-19 19:23
此题无解~~~~~~~~~~~~
作者: QIAOXINGXING 时间: 2012-9-29 10:17
此题无解~~~~~~~~~~~~
狗屁不通 发表于 2012-8-19 19:23
11楼的不是可以吗???????
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |