我看了一遍,无法找到一个简单的Windows批处理脚本来按行数拆分文本文件。
我有一个大约150,000行的.txt文件
我试图制作一个每1000行拆分文本文件的批处理。
我也试过使用Gsplit但没有成功
如果您能找到类似的问题,请与我联系
非常感谢。
我认为找到这个问题的答案对谷歌上的其他用户和人有用
答案 0 :(得分:0)
您只需要一个for
循环和一个计数器。
@echo off
setlocal enabledelayedexpansion
:: Ensure that the user passed the file to the script
if "%~1"=="" (
echo Please provide a file to process. You can drag the file onto the script.
exit /b
)
set "split_at=1000"
set "input_file_name=%~1"
set "output_file_base_name=%~n1"
set "split_count=1"
set "line_count=1"
:: Move to the directory where the file is
pushd %~dp1
for /f "delims=" %%A in (%input_file_name%) do (
>>%output_file_base_name%.!split_count! echo(%%A
set /a line_count+=1
REM If we've reached the split_number, roll the log over
if !line_count! gtr %split_at% (
set line_count=1
set /a split_count+=1
)
)
popd