タブ区切りのテキストファイルを読んで指定した行数ごとに1行にまとめるバッチファイル

2024年4月24日

バッチファイル

@echo off
set SKIP1=25
set SKIP2=771
set SPAN1=3
del output.txt
set N=0
:::powershell -command "get-clipboard">225.txt

for /f "usebackq  tokens=1 skip=%SKIP1% delims=" %%A in (225.txt) do (
call :CHK
if  ERRORLEVEL 255 goto :th

if not ERRORLEVEL 1 echo %%A>>output.txt
if  ERRORLEVEL 1 SET /P Xtmp= %%A	<NUL >>output.txt
)
:th
type NUL > output1.txt
::echo 銘柄名	(コード/市場)	業種	現値	前日比	騰落率	特色>>output1.txt
findstr /v "(コード/市場)" output.txt >>output1.txt

timeout /t 9

goto :EOF
:CHK
set /a N+=1 , X=N %% %SPAN1%
set /a N2=%N% +%SKIP1%+1
if %N2% geq %SKIP2% exit /b 255

if %X%==1 exit /b 1
if %X%==2 exit /b 2
if %X%==0 exit /b 0
exit /b 0

指定した行をスキップし3行ごとに1行にまとめる処理です。必要なデータを処理したら不要な行はスキップします

バッチファイルで改行をタブにしたり for のループから抜ける処理をしています

項目のヘッダーをつけたりfindstr を使って不要な行を消したりする処理も追加しています

スイ
(1000/東P)	水産・農林業	947.2	+23.8
+2.58%	水産大手
スイ	(1000/東P)	水産・農林業	947.2	+23.8	+2.58%	水産大手

https://www.graffage.com/entry/2018/11/24/000000

bat,windows

Posted by eightban