中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎么用批处理批量转存txt文件?
作者:
标题: [求助]怎么用批处理批量转存txt文件? 上一主题 | 下一主题
kingerpk
新手上路





积分 13
发帖 4
注册 2009-1-31
状态 离线
『楼 主』:  [求助]怎么用批处理批量转存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
但运行结果~~~~~~~~~
我刚接触批处理几天相当的不懂
还望各位指点指点。

2009-2-1 14:16
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lifenjoiner
新手上路




积分 19
发帖 12
注册 2008-10-11
状态 离线
『第 2 楼』:  

首先,是编码格式不被识别的问题,一般便携机只能识别ASCI编码的文本文件。
这个情况我曾经遇到过。

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

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



抓住规律、结果整齐、代码简洁
2009-2-1 15:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
yishanju
银牌会员

[b]看你妹啊[/b]


积分 1488
发帖 1357
注册 2006-5-20
状态 离线
『第 3 楼』:  

这里有两个编码转换的工具,看看能不能用上
http://baiy.cn/#命令行工具_batch_wide_find_-_replace




有问题请发论坛或者自行搜索,再短消息问我的统统是SB
2009-2-1 21:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
kingerpk
新手上路





积分 13
发帖 4
注册 2009-1-31
状态 离线
『第 4 楼』:  

谢谢啊!!!!!!!!!!!

2009-2-1 22:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: