[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. (for /f "delims=" %%a in (1.txt) do echo (%%a^))>456.txt
复制代码

TOP

zm900612 大哥强悍!!!!!!!!

TOP

本帖最后由 hucuibai 于 2011-3-31 17:02 编辑

16# zm900612


你这个不行,你试试把你的文件另存为ansi编码的 然后再运行你写的,读不出内容,文件是空的!!

TOP

这样猜谜很困难,能否贴出你的目录树、测试代码、结果呢?

TOP

19# zm900612



文件我传不上来,太大了,每行的内容都是一致的,大致就是这样的
56128485220, 248053, 3, "2011-03-28 23:58:46", "2011-03-29 00:00:14", "119.1.17.209", 0, 0(有N行,这是程序产生的日志文件)
我就是想把这个文件的内容读出来,然后输入到另外一个文件里面,格式就是在每行内容上面加上(内容),我最快四十的代码是
for /f %%i in ('more 1.txt') do echo ^(%%i^),>456.txt
后面看more不能显示出全部内容就改用type
for /f %%i in ('type1.txt') do echo ^(%%i^),>456.txt
还是不行,刚刚用了你写的这个代码,另外新建一个记事本把原来的内容复制进去,用你的代码是可以的,但是源文件就不行了,应该是编码问题吧

TOP

不可能是编码问题,bat本来就是为ansi而生的...看来for也有极限啊...
有一个思路,没试验过:
  1. copy 1.txt 2.txt
  2. fsutil file setzerodata offset=0 length=20000000 1.txt
  3. fsutil file setzerodata offset=20000000 length=30000000 2.txt
复制代码
然后分别处理1.txt和2.txt,不过只有在ntfs格式的盘上才可以这样,而且也不确定fsutil能不能处理这么大的文件,毕竟这体积有点极端了...

TOP

哦 错了 错了 编码是unicode编码的文件

TOP

21# zm900612


搞错了,源文件是unicode编码的

TOP

20楼似乎在和1.txt之间漏了个空格
试试:
  1. @echo off
  2. (for /f "delims=" %%a in ('type 1.txt') do echo (%%a^))>456.txt
复制代码

TOP

24# zm900612


不行,最后剩个括号!

TOP

人呢,都下班吃饭去啦

TOP

23# hucuibai
首先说明一下TYPE是能打开UNICODE文件的,但是有个条件,就是在有“FFFE”编码头的情况下,如果没有即使是UNICODE也会按照ANSI来打开文件(PS:0X00不做转换)也就是说TYPE是可以正确打开UNICODE的,另外SORT也是可以的,而MORE则将0X00理解成别的字符了
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

27# wc726842270


那要怎么弄呢?

TOP

没有文件的话可能仅是空谈,最好还是上传一下吧,这样解决的也会更快,更好
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

29# wc726842270


文件有四十M好像传不上来吧

TOP

返回列表