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


你这个不行,你是下的我的源文件?不是复制的里面的内容新建的记事本吧?我的源文件是unicode编码,用你的这个不能输出!

TOP

4# hucuibai


打开你的文件,复制里面的内容再粘贴到里面。

TOP

5# tmplinshi


手工复制?日志文件有很多,而且都很大,还是你的意思是说你下载的时候是直接打开的然后复制里面的内容到新的txt文档 然后用你写的那个语句操作??

TOP

6# hucuibai


下载保存你的附件,打开,全选,复制,再粘贴到文件末尾,再全选,复制,粘贴到文件末尾,再全选...

TOP

49# tmplinshi


亲爱的斑竹同志,我按照你的步骤从新做了一遍,结果还是不行,输出为0字节,cmd窗口没反应,就剩个光标在那闪,等了十来分钟还是0字节

下载附件,打开,全选,复制,再粘贴到文件末尾,再全选,复制,粘贴到文件末尾,再全选...
文件四十多M之后  我复制你的代码运行!会不会是我的系统跟你的系统不一样,我的是xp sp3

TOP

50# hucuibai

运行以下代码,看文件行数是否一样:
  1. @echo off
  2. set file="40m.txt"
  3. type %file% >40m_type.txt
  4. echo 正在统计 %file% 行数...
  5. find /v /c "" %file%
  6. echo ================
  7. echo 正在统计 40m_type.txt 行数...
  8. find /v /c "" 40m_type.txt
  9. echo ================
  10. pause
复制代码

TOP

49# tmplinshi


我刚刚把你的那两个综合了一下,必须要产生一个零时文件过度一下,不然就在for循环里面使用type源文件不能输出,但是那些小文件就可以,for循环也有限制的?
  1. @echo off
  2. type PlayerPropertyLog20110329.txt>1.txt
  3. (for /f "delims=" %%i in (1.txt) do echo ^(%%i^)^,)>2.sql&&del /s /q 1.txt>nul
复制代码

TOP

当for从文件读取输入时是一行一行进行,而从命令获取输入时是等该命令运行完毕后再进行,不知道for中的命令输出是存在内存里还是临时文件,我感觉应该是内存吧...

TOP

53# zm900612


小文件是可以读出来的,可能是文件太大了,是不是因为for命令获取type输出的时间太久了

TOP

type、more、for等命令都是一行一行获取输入、处理、再输出的,所以单独使用的时候应该不会预先把文件内容读取到内存吧,不过for+命令是特例,必须先等待命令运行完毕,才能用for进行处理,所以我猜for从命令所获取的输入因该是暂存在内存里吧,cmd所能使用的内存是有上限的,所以会出现各种诡异现象。个人感觉,没有验证

TOP

返回列表