0
私たちが使用するHRソフトウェアでは、CSVファイルをインポートできますが、サードパーティから取得したダンプはCSV形式ではありません。複数のコンマのカンマを1つのコンマで置き換えます
CSVファイルに処理するためにバッチファイルを書きましたが、ダンプファイルの1つの部分に複数のスペースがあります(行ごとに異なる場合があります)ので、スペースをコンマで置き換えると、複数のコンマで終わる
2つ以上のカンマが1つのカンマに変更されるようにバッチファイルを更新するにはどうすればよいですか?
オリジナルファイル:
096 Parisella, Onorato - Perm 030417 05:53
000 030417 06:44
127 Thomas, Vincent - Perm 030417 06:44
040 Ram, Gurdial - Perm 030417 07:09
100 Smano, Petros - Perm 030417 07:12
128 Machenbach, Werner - Perm 030417 07:13
147 Samanovic, Milan 030417 07:14
047 Hopkins, Hugo - Perm 030417 07:16
私の現在のバッチファイル:
@echo off
setlocal EnableExtensions DisableDelayedExpansion
set "search= - Perm"
set "replace="
set "textFile=FINGERTEC RAW DATA*.txt"
set "rootDir=."
for %%j in ("%rootDir%\%textFile%") do (
for /f "delims=" %%i in ('type "%%~j" ^& break ^> "%%~j"') do (
set "line=%%i"
setlocal EnableDelayedExpansion
set "line=!line:%search%=%replace%!"
>>"%%~j" echo(!line!
endlocal
)
)
set "search= "
set "replace=,"
set "textFile=FINGERTEC RAW DATA*.txt"
set "rootDir=."
for %%j in ("%rootDir%\%textFile%") do (
for /f "delims=" %%i in ('type "%%~j" ^& break ^> "%%~j"') do (
set "line=%%i"
setlocal EnableDelayedExpansion
set "line=!line:%search%=%replace%!"
>>"%%~j" echo(!line!
endlocal
)
)
endlocal
電流出力:
096,Parisella,,Onorato,,,,,,,,,,,,030417,05:53
000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,030417,06:44
127,Thomas,,Vincent,,,,,,,,,,,,,,,030417,06:44
040,Ram,,Gurdial,,,,,,,,,,,,,,,,,,030417,07:09
100,Smano,,Petros,,,,,,,,,,,,,,,,,030417,07:12
128,Machenbach,,Werner,,,,,,,,,,,,030417,07:13
147,Samanovic,,Milan,,,,,,,,,,,,,,,,,,,,,030417,07:14
047,Hopkins,,Hugo,,,,,,,,,,,,,,,,,030417,07:16
私は任意のサードパーティ製のツールを使用することはできませんのでご注意ください。
これは私が後だったものです。出力は私が望んだものです。 – James