我有一个csv文件,我需要将其拆分为n个文件,使每个拆分文件不应超过100 MB.我需要在Windows批处理脚本中实现它.我尝试了以下方式,但由于我的未分割文件是GB,因此花费了大量时间
@echo off
setlocal enableextensions enabledelayedexpansion
set count=1
set maxbytesize=100000000
set size=1
type NUL > output_1.csv
FOR /F "tokens=*" %%i in (myfile.csv) do (
FOR /F "usebackq" %%A in ('!filename!_!count!.csv') do (
set size=%%~zA)
if !size! LSS !maxbytesize! (
echo %%i>>!filename!_!count!.csv) else (
set /a count+=1
echo %%i>>!filename!_!count!.csv
))
Run Code Online (Sandbox Code Playgroud)
请告诉我是否有更好的方法来实现这一目标.我不能去任何其他脚本语言,因为我的服务器是Windows