4 つの CSV ファイルを 1 つの CSV ファイルに結合する必要がある状況があります。それらを次々に追加したいだけならこれは簡単ですが、CSVファイルに並べて配置する必要があります。4 つのファイルすべてに同じ数のエントリがあることがわかっています (1000 エントリの範囲内)。私は、小さなファイルでは機能しますが、長いファイルでは非常に非効率的な次のコードに取り組んでいます。同じタスクを達成するためのより簡単な方法はありますか?
@echo off
setlocal enabledelayedexpansion
Set R=1
Set T=1
Set Y=1
Set U=1
for /f %%a in (test1.txt) do (
set I=!R!
for /f %%b in (test2.txt) do (
set J=!T!
for /f %%c in (test3.txt) do (
set K=!Y!
for /f %%d in (test4.txt) do (
set L=!U!
If !I!==!J! If !J!==!K! If !K!==!L! echo %%a,%%b,%%c,%%d >> TestComplete.txt
Set /a U=U+1
)
Set U=1
Set /a Y=Y+1
)
Set Y=1
Set /a T=T+1
)
Set T=1
Set /a R=R+1
)
注: 貼り付けたコードは、.csv ファイルではなく .txt ファイルを使用していることを知っています。一方に機能するものは、他方に機能すると思います。
繰り返しますが、ファイルが小さい限り、上記のコードはうまく機能するようです。ファイル (この場合は test1.txt) に約 1000 行のテキストがある場合、(もちろん) 問題があります。