
実現したいこと
バッチファイルを実行し、特定フォルダ内のCSVファイルの一括書換え。
前提
①冒頭3行、ごみデータを削除 ②ファイル名を、CSVの最終列に追加したい。
(例)
例)ファイル名 A56789.csv カンマ区切り、タイトルは漢字・英字がありうる
ーーーーーーーーーーーーーーーーーーーーーー
1-Wire/iButton Part Number: AAAA
1-Wire/iButton Registration Number: 123
Time,Unit,Value
23-11-2 13:01,C,27
23-11-2 13:01,C,28
↓
Time,Unit,Value,Number
23-11-2 13:01,C,27,A56789
23-11-2 13:01,C,28,A56789
ーーーーーーーーーーーーーーーーーーーーーーーーー
発生している問題・エラーメッセージ
↓私で調べて書いたバッチ、これだと数字しか変換されず
ファイル名に漢字、英字、あると変換対象になりません。 どこかおかしいOR直せばいいでしょうか?
該当のソースコード
ーーーーーー
powershell -c "'#'+(gc '%~f0' -Raw) | iex" &exit/b
$s='Date/Time'
ls *.csv | ? {
$.BaseName -match '^[0-9,A-B]+$'
} | % {
if((gc $) -match "^$($s)"){
$Line=((gc $_ | sls "^$($s)").LineNumber)[0]-1
}else{
$Line=0
}
$f=$_
@(gc $_ | select -Skip $Line | % {
$i=0
}{
if($i -eq 0){
"$,Number"
$i++
}else{
"$,$($f.BaseName)"
}
}) | sc $f
}```
ーーーーーー

0 コメント