十分なビールがあれば何でも可能です。 read about string manipulationにお伝えします。将来的には、自分で問題を解決しようとしたことを示すコードを投稿する必要があります。
今のところ、下記のスクリプトが十分にあなたを始めてくれるでしょう。文字列操作では、データが上記のフォーマットと一致することが期待されます。実際にデータの終わりを示す省略記号がない場合は、. . .
を10行目の}
に置き換えます。
また、バッチ演算は32ビット符号付き整数に制限されています。合計value_list
値の合計値が2147483647を超えると、誤った値が返されます。別のスクリプト言語が望ましいかもしれません。
幸運を祈る!
@echo off & setlocal
rem // populate %data% variable
set /P "data=" <"text file that contains the data.txt"
rem // strip everything prior to the first value_list
set "data=%data:* value_list: =%"
rem // strip everything after the ellipses.
set data=%data:. . .=&rem;%
rem // init counters
set /a values=0, total=0
rem // replace "value_list:" with a delimiter that can be split by "for"
for %%I in (%data: value_list: =;%) do set /a values += 1, total += %%I
rem // average values. Note: Batch math rounds the result to the nearest integer.
set /a avg = total/values
rem // output result
echo average: %avg%
これはJSONであるはずですか?データは真に値を区切るスペースだけを持つ単一の行にありますか? – rojo
常に5つの値リストがありますか?最後のものの後にはいつも期間がありますか? – Squashman
@スカッシュマンいいえ、ありません。いくつかのファイルには、数百のvalue_listキーが含まれています。 – kosterz