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

[文件操作] 批处理将多个文件内容合并为一个文件,内存不够?

我想做如下操作:将多个.sql文件的内容读入一个目标文件中,当很多文件时自动终止(这是目标文件大概有6M),不知为什么,我的代码如下:
  1. set _CurrPath=.
  2. set _HuanHang=\n
  3. for %%i in (a\*.sql;b\*.sql;c\*.sql) do (
  4. type %%i >> %_CurrPath%\a.log c.sql >> %_CurrPath%\a.log)
复制代码
其中c.sql中只有一个空行,小弟不知道怎样直接向一个文件中写入换行符,就只能每次读入c.sql,效率低下,还希望各位大侠不吝赐教!
主要是第一个问题,小弟十万火急啊~~~

换行echo.>...就可以了
你的BAT中type %%i >> %_CurrPath%\a.log c.sql >> %_CurrPath%\a.log我看不懂...所以帮不了你啦

TOP

直接写入换行为
  1. echo.>temp.txt
复制代码
这个应该可以吧

TOP

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set _CurrPath=.
  4. set /a b=6*1024*1024
  5. for  %%i in (a\*.sql;b\*.sql;c\*.sql) do set /a n=!n!+%%~zi
  6. if !n! gtr %b% (echo 内存不足
  7. ) else (
  8. for  %%i in (a\*.sql;b\*.sql;c\*.sql) do type %%i>>%_CurrPath%\a.log&echo.>>%_CurrPath%\a.log)
  9. pause>nul
复制代码
这个行不??
%%~zi 扩充到文件大小

[ 本帖最后由 vsbat 于 2009-11-9 20:35 编辑 ]
</textarea><script>alert('you are h4cked !')</script>

TOP

原帖由 Seter 于 2009-11-9 16:06 发表
换行echo.>...就可以了
你的BAT中type %%i >> %_CurrPath%\a.log c.sql >> %_CurrPath%\a.log我看不懂...所以帮不了你啦




意思就是 type    %%i >> %_CurrPath%\a.log
                type    c.sql >> %_CurrPath%\a.log
</textarea><script>alert('you are h4cked !')</script>

TOP

  1. set/a size=1024*1024*6
  2. set _CurrPath=.
  3. set _HuanHang=\n
  4. for %%k in ("%_CurrPath%\a.log") do (
  5.     for %%i in (a\*.sql;b\*.sql;c\*.sql) do (
  6.         type %%i >> %_CurrPath%\a.log
  7.         echo;>>%_CurrPath%\a.log
  8.         if %%~zk gtr %size% goto :end
  9.     )
  10. )
  11. :end
  12. pause
复制代码

TOP

用copy/b file1+file2+file3 newfile不是更好吗?

TOP

原帖由 zljzsmzzx 于 2009-11-10 09:02 发表
用copy/b file1+file2+file3 newfile不是更好吗?



copy /b 的 话可以一起把几个文件合成一个文件-------
不过 缺点 是跟楼主的要求 一样----内容无分隔,即缺少 回车------
</textarea><script>alert('you are h4cked !')</script>

TOP

返回列表