フォルダーに含まれるファイルを繰り返し処理し、各ファイルの最初の行を抽出する必要があります。私はこれを2つのバッチファイルに書き込もうとしました-最初のものはファイルを過大評価します:
FOR %%a in (D:\TEST_BAT\*.TXT) do (
call Estrai_Header.bat %%a %header%
@echo on
echo %header%
)
2 つ目 ( という名前Estrai_header.bat
) は、ファイルの最初の行を抽出します (パラメーターとして渡すだけです)。
set header = ""
SET /A maxlines=1
SET /A linecount=0
FOR /F %%b IN (%1) DO (
IF !linecount! GEQ %maxlines% GOTO ExitLoop
set $2 = %2%%b
echo %2%
SET /A linecount+=1
echo %linecount%
)
:ExitLoop
exit /b
Estrai_Header.bat
正しく動作し、すべてのファイルの最初の行だけを出力します。しかし、最初のバッチで抽出された最初の行の値が表示されません (無効な文字列が出力されます)。これらのバッチ ファイルの何が問題になっていますか?
前もって感謝します。