我有一个 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
))
请让我知道是否有更好的方法来实现这一目标。因为我的服务器是 Windows,所以我不能使用任何其他脚本语言