Board logo

标题: [求助]怎么用批处理批量转存txt文件? [打印本页]

作者: kingerpk     时间: 2009-2-1 14:16    标题: [求助]怎么用批处理批量转存txt文件?

————————————————————————————————
转移自 DOS疑难解答 & 问题讨论 (解答室)
明显发错版块。因属论坛新手,故暂不予以处罚,望今后引起注意。
——管理员
————————————————————————————————



我从网上下载了很多txt格式的电子书。但其编码不是2进制的。在我的手机看到的全是乱码,但在电脑上把其内容存倒另一个txt中就可解决这个问题(应该是很傻的办法)。或许有其他办法,但我想用批处理来做我刚才所描述的过程,要怎么做呢?
顺便看看我的菜鸟代码有什么问题:(我的文件是放在h:\123中)
h:
dir h:\123> h:\1.txt
setlocal EnableDelayedExpansion
for /r . %%A in (h:\123) do for /f "skip=7 tokens=4 delims= " %%a in (1.txt) do echo %%a > h:\2.txt & for /f %%B in (2.txt) do set p=%%B & type %p%*.txt > e:\%p%.txt
::把文件名从1.txt中提取出来(可能会不完整) 放到2.txt中 再把2.txt中的每行(即文件名)赋给p 再把%p%*.txt type 进%p%.txt中(考虑到文件名提取得不完整,所以用*)
pause
但运行结果~~~~~~~~~
我刚接触批处理几天相当的不懂
还望各位指点指点。

作者: lifenjoiner     时间: 2009-2-1 15:14
首先,是编码格式不被识别的问题,一般便携机只能识别ASCI编码的文本文件。
这个情况我曾经遇到过。

其次,cmd下似乎识别Unicode而不识别UTF-8。
你可以保存相应格式的文件,用“type filename”验证。

固:
1. 若是unicode格式,可用批处理解决,也可另寻编码转换工具。
2. 若还是可能只能用后者解决了。

作者: yishanju     时间: 2009-2-1 21:58
这里有两个编码转换的工具,看看能不能用上
http://baiy.cn/#命令行工具_batch_wide_find_-_replace

作者: kingerpk     时间: 2009-2-1 22:04
谢谢啊!!!!!!!!!!!