[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理more命令打不开大文件?

本帖最后由 hucuibai 于 2011-4-12 10:15 编辑

我用more打开一个40多M的txt文档重定向到另外一个txt,输出的是空白,内容读不出来,这是为什么,more有限制功能还是怎么样??


文件我传不上来,太大了,每行的内容都是一致的,大致就是这样的
56128485220, 248053, 3, "2011-03-28 23:58:46", "2011-03-29 00:00:14", "119.1.17.209", 0, 0(有N行,这是程序产生的日志文件)
我就是想把这个文件的内容读出来,然后输入到另外一个文件里面,格式就是在每行内容上面加上(内容),文件是unicode编码的,我是目的就是要把这个文件的内容读出来,然后放到.sql文件里面去!


把源文件内容删了,留开头几行!上传上来

哦 知道了 more是分屏显示的,能不能够一次性显示完呢?

TOP

本帖最后由 tmplinshi 于 2011-3-31 15:48 编辑

最多输出 65534 行。(测试系统:XP SP2)

改用 type 命令,或 copy New.txt+40MB.txt New.txt /b

TOP

type 打不开我那个ansi文件,只能用more

TOP

3# tmplinshi


type 打不开我那个ansi文件,只能用more

TOP

我是win7系统,显示65391行就暂停了,末行显示-- More (20%) -- ...
不过测试文件并未超过40M,只有38.6M,莫非与此有关?

TOP

F:\123\gamerecord-chn1030\20110329>more /?
逐屏显示输出。

MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename
command-name | MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

    [drive:][path]filename  指定要逐屏显示的文件。

    command-name                 指定要显示其输出的命令 。

    /E      启用扩展功能
    /C      显示页面前先清除屏幕
    /P      扩展 FormFeed 字符
    /S      将多个空白行缩成一行
    /Tn     将跳格键扩展成 n 个空格(默认值为 8)

            命令行开关可以出现在 MORE 环境变量中。

    +n      从第 n 行开始显示第一个文件

    files    要显示的文件列表。 用空格分开列表中的文件。

    如果扩展的功能已经启用,在 -- More -- 提示处会接受下列
    命令:

    P n     显示下 n 行
    S n     略过下 n 行
    F       显示下个文件
    Q       退出
    =       显示行号
    ?       显示帮助行
    <space> 显示下一页
    <ret>   显示下一行


我看不懂这个格式,如果要用<space>这个扩展命令要怎么写?

TOP

6# zm900612


刚刚看了more的参数,能开启扩展命令,但是我不知道格式该怎么写,有谁看的懂的?

TOP

本帖最后由 tmplinshi 于 2011-3-31 16:03 编辑

7# hucuibai


命令扩展默认是启用的。“<space> 显示下一页”的意思是按空格显示下一页。例如你试试运行:
  1. dir %windir%\*.exe | more
复制代码

TOP

9# tmplinshi


这样哦,那真没办法了?还有没有其他的命令,能够替代啊?type不行,打不开ansi编码的文件

TOP

type打不开ansi编码文件???

TOP

本帖最后由 hucuibai 于 2011-3-31 16:50 编辑

11# zm900612
  1. @echo off
  2.     for /r F:\123 %%i in (*.txt) do (
  3. >456.txt (
  4.         for /f %%a in ('type %%i') do echo ^(%%a^)^,
  5. )
  6. )
  7. pause
复制代码
貌似这样不行

TOP

本帖最后由 hucuibai 于 2011-3-31 16:27 编辑

"2011-3-29 0:0:35",1,56129910365,56148967108,5008,71,3,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
"2011-3-29 0:0:35",1,56129910365,43205880120,112008,76,3,0,5,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
"2011-3-29 0:0:35",1,56129910365,56148710277,25008,73,3,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
"2011-3-29 0:0:35",1,56129910365,56149345836,102023,72,4,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
"2011-3-29 0:0:35",1,56129910365,77733315566,132008,74,3,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
"2011-3-29 0:0:35",1,56129910365,56151401567,80001,60,3,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0
"2011-3-29 0:0:35",1,56129910365,77762226858,820108,75,2,1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0

文件内容都是这种格式的,内容有四十多M 我想输出以后得到 ("2011-3-29 0:0:35",1,56129910365,77762226858,820108,75,2,1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0),这种格式的的另外一个文件,文件是ansi编码的!

TOP

12楼是代码错了吧,【>456.txt(】这里似乎少一个空格

TOP

14# zm900612


哦 这是失误,源文件有的!

TOP

返回列表