CSV ファイルやタブ区切りのテキストファイルを読んで項目を加工しながら出力するバッチファイル

2024年4月24日

項目を分解したり 指定した文字列を削除したり 新しい項目を追加したり 並び替えたり 項目を並び替えたりします

バッチファイルで今日の日付の項目を追加しています

数字部分のカンマを削除しています。

タブ区切りのファイルを読み込むサンプルです。タブ区切りだけで分解できなかったので半角スペース全角スペースを変換しています。カンマ形式のファイルを読み込むにはデリミターの場所を追加してください

バッチファイル

@echo off

set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%

set yyyymmdd=%year%%month%%day%

echo %yyyymmdd%

setlocal enabledelayedexpansion
del output2.txt
for /f "usebackq tokens=1 delims=" %%A in (output1.txt) do (
    set line0=%%A
    set line1=!line0: =_!
    set line2=!line1: =_!

    echo  !line2!>>output2.txt

)
del output3.txt
::echo コード	市場	銘柄名	業種	現値	前日比	騰落率	特色	日付>>output3.txt
::for /f "usebackq tokens=1-7 delims=," %%A in (output2.txt) do (
for /f "usebackq tokens=1-7" %%A in (output2.txt) do (
    set line0=%%B
    set line1=!line0:^(=!
    set line2=!line1:^)=!
    set line3=!line2:^/=	!
    set line0=%%D
    set line4=!line0:^,=!

    echo  !line3!	%%A	%%C	!line4!	%%E	%%F	%%G	%yyyymmdd%>>output3.txt

)
:th
powershell -Command "Get-Content -Path 'output3.txt' -Encoding Default  | ConvertFrom-Csv -Delimiter "`t" | Export-Csv -Path 'N%yyyymmdd%.csv'  -NoTypeInformation -Encoding Default   "

timeout /t 9

goto :EOF
ハウス	(1000/東P)	建設業	3,330	±0	0.00%	ハウスメーカー
1000	東P	ハウス	建設業	3330	±0	0.00%	ハウスメーカー

bat,windows

Posted by eightban