0

フォルダーに含まれるファイルを繰り返し処理し、各ファイルの最初の行を抽出する必要があります。私はこれを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正しく動作し、すべてのファイルの最初の行だけを出力します。しかし、最初のバッチで抽出された最初の行の値が表示されません (無効な文字列が出力されます)。これらのバッチ ファイルの何が問題になっていますか?

前もって感謝します。

4

1 に答える 1