setlocal enabledelayedexpansion
pushd %~dp0
set /a first_flg=0
set FILE_NAME="result.csv"
for /f %%a in ('dir /b *.csv') do (
echo %%a
if !first_flg! == 0 (
for /f %%b in (%%a) do echo %%b>>"!FILE_NAME!"
set /a first_flg=1
) else (
for /f "skip=1" %%b in (%%a) do echo %%b>>"!FILE_NAME!"
)
)
pause
endlocal
@echo off
setlocal enabledelayedexpansion
set /a counter=0
for /f %%i in ('dir /b *.csv') do (
echo %%i
if !counter!==0 (
set /p _head=<%%i
echo !_head!>>result.csv
)
set /a counter=!counter!+1
for /f "tokens=* skip=1" %%b in (%%i) do (
echo %%b>>result.csv
)
)
pause
-------------------------------------------------------------------------
これでも出来るんですけど、タイトル行が長いと途中で切れてしまったんですよね。
set /p _head=<%%i で取得する際に長さの制限がある・・・のかな?
原因は不明なんですが、とりあえずforで取得した場合は途切れなかったのでそれで必ずやるようにした感じです。
よかったら使ってみてくださいませ。