0

最小限のバックグラウンド プロセスを必要とする作業を自動化しようとしています。通常は C# を使用しますが、これには問題があります。自動化しているのは、システムをスキャンして実行中のプロセスを探すテスト プロセスだからです。コマンド ウィンドウは問題ありませんが、それを超えるほとんどの場合、問題が発生します。この一連のテストを開始する一環として、.csv ファイルから一度に 1 行ずつ読み取るバッチ ファイルを取得する方法を見つけようとしています。各行には、変数に入れる必要がある 4 つの値 (もちろんコンマで区切られています) が含まれています。最初の変数はテスト番号になります。バッチ ファイルを開始するときに、引数としてテスト番号を指定し、受け取ったテスト番号とファイルから読み取ったテスト番号を比較します。一致する場合は、テストを続行します。そうでない場合は、次の行に進み、そのデータを変数に読み込みます。他のすべては非常に単純ですが、説明されている方法で一度に .csv ファイルを 1 行ずつ読み取って解析する方法がわかりません。どんな助けでも大歓迎です。

参考までに、私は C# でこれを行う方法をよく知っており、バッチ ファイルよりも優れた (簡単な) ソリューションが他にもたくさんあることを知っています。ただし、私たちの状況ではこれらのソリューションを採用することが適切ではない特定の理由があるため、バッチ ファイルを使用して昔ながらの方法にしようとしています。

4

1 に答える 1

2
@echo off
rem Read theFile.csv and get 4 tokens separated by commas
for /F "tokens=1-4 delims=," %%a in (theFile.csv) do (
   rem Tokens read are placed in %%a, %%b, %%c and %%d replaceable parameters
   rem If first token is equal to first Batch file argument
   if %%a equ %1 (
      rem Continue testing here, ie
      echo %%a,%%b,%%c,%%d
   )
)
于 2012-05-21T19:03:29.650 に答える