标题: [文本处理] BAT批处理合并csv文本行数100万行时,无法运行? [打印本页]
作者: qingwusigui 时间: 2014-5-13 22:33 标题: BAT批处理合并csv文本行数100万行时,无法运行?
- @echo off
-
- del total.csv
- (for %%i in (*.csv) do (
-
- for /f "skip=8" %%j in ('type "%%i"') do echo %%j))>total.txt
- ::ren total.txt total.csv
- @echo 运行完毕...已合并至total.csv
- pause
复制代码
CSV的行数较少的时候,没有问题,但当行数达到100万行的时候,就不行了。请问是不是没有定义长型的原因?
作者: CrLf 时间: 2014-5-13 23:15
行数多时,避免使用内部命令- @echo off
- (for %%i in (*.csv) do more +8 %%i)>total.txt
- ren total.txt total.csv
- pause
复制代码
作者: terse 时间: 2014-5-13 23:17
本帖最后由 terse 于 2014-5-13 23:41 编辑
行数有限制吧 另也可试下复制代码
作者: CrLf 时间: 2014-5-14 00:10
本帖最后由 CrLf 于 2014-5-14 06:48 编辑
卧槽,忘了 more 只支持 65535 行以下的文本,好吧那么这样吧:- @echo off
- (
- for %%a in (*.csv) do (
- for /l %%b in (1 1 8) do set /p=
- findstr .
- )<%%a
- )>total.txt
- ren total.txt total.csv
- pause
复制代码
或- @echo off
- (for %%a in (*.csv) do sed "1,8d" "%%a")>total.txt
- ren total.txt total.csv
- pause
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |