2017-06-12 25 views
0

私は十二分に見て、行数でテキストファイルを分割する簡単なWindowsバッチスクリプトを見つけることができません。行数でバッチ分割テキストファイル

私は、テキストファイルごとに1000行を分割するバッチを作成しようとしている約150,000行

イムで.txtファイルを持っています。あなたが同様の質問を見つけることができる場合

は私もノー成功

でGsplitを使用してみましたが、私は事前にそんなに

感謝をリンクしてください。

私はこの質問への答えを見つけることグーグル

+1

同様のタイプの質問は[こちら](https://stackoverflow.com/questions/44389673/batch-file-to-split-text-file-into-multiple-files-in-があるように見えます同じディレクトリ上の勝利svr-2/44390846#44390846) – Compo

答えて

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 
+1

line_countゼロで始まり、1組の/ aでモジュラス計算を行うのは私にとっては簡単です。出力がオーバーヘッドを減らす前に 'set/a" line_count + = 1、split_count = line_count %% split_at "' – LotPings

関連する問題