
はじめに
ものすごい行数のテキストファイルを開く際に(ログファイルやDBからエクスポートしたcsvファイル等)とても時間がかかったりヘタするとエディタが落ちる事もあったのでVBスクリプトでテキストファイルを分割するプログラムを簡単に書きました。また使いたくなることもあるかと思うので載せておきます。
スクリプト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | Dim arg Dim objFSO Dim objFile Dim newFile Dim lineCount Dim fileNum Dim num Dim path Const splitNum = 10 arg = WScript.Arguments(0) Set objFSO = WScript.CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile(arg) lineCount = 0 fileNum = 0 path = objFSO.getParentFolderName(WScript.ScriptFullName) & "\" Do While objFile.AtEndOfStream <> True num = lineCount Mod splitNum If num = 0 Then If lineCount <> 0 Then newFile.Close End If fileNum = fileNum + 1 Set newFile = objFSO.CreateTextFile(path & fileNum & ".txt", true) End If lineCount = lineCount + 1 newFile.WriteLine(objFile.ReadLine) Loop newFile.Close objFile.Close Set objFile = Nothing Set objFSO = Nothing Set newFile = Nothing |
解説
スクリプトの第一引数に対象ファイルのパスを指定していますので、拡張子vbsで保存してください。保存したスクリプトファイルに対象のファイルをドラッグするだけでOK。ダブルクリックしたらエラーになります。 定数のsplitNumで分割行数を設定していますのでコード上は10行ごとに別のファイルに分割します。お好きな行数にsplitNumを変更してください。拡張子についてもコード中の.txtを適宜csvなどに変えていただけたらそれで分割できます。 分割されたファイルのファイル名は順に1からつけていきます。好みで改造してください。
![[Swift3]画面の幅、高さを取得する(画面サイズ)](https://www.yukiiworks.com/wp-content/uploads/2019/04/swift-300x300.png)

![[realm][Android]relam導入時のエラー"configuration with name 'kapt' not found."について](https://www.yukiiworks.com/wp-content/uploads/2019/04/68747470733a2f2f71696974612d696d6167652d73746f72652e73332e616d617a6f6e6177732e636f6d2f302f36333036302f31363961343966382d623766622d613335612d353264342d6539653934373731383031302e6a706567-150x150.jpg)
![[Flutter]chopper_generator使用時にbuild_runnerのビルドが完了しない問題の解消法](https://www.yukiiworks.com/wp-content/uploads/2020/08/flutter-150x150.png)
![[Swift]UITextViewでリンクはタップできるまま長押しとダブルタップでの選択を防ぐ方法](https://www.yukiiworks.com/wp-content/uploads/2019/04/swift-150x150.png)
![[PHP]local.ERROR: compact(): Undefined variable:エラーについて](https://www.yukiiworks.com/wp-content/uploads/2019/06/php-150x150.jpg)
![[Laravel]name属性の配列要素をoldで取得する方法](https://www.yukiiworks.com/wp-content/uploads/2019/05/laravel-150x150.png)
![[Android][Kotlin]EditTextのキーボードの完了ボタンを検知する方法](https://www.yukiiworks.com/wp-content/uploads/2019/10/android-studio-e1585186990750-150x150.jpg)
