0

Windows 7 でバッチ ユーティリティ スクリプトを作成して、実行可能ファイルを呼び出します。私の2番目のIFステートメントを除いて、それは本質的に機能します。さまざまなことを試しました。

私の意図は、コマンドライン引数ごとに「DoSomething」を呼び出すことです。その部分は機能します!2 番目の IF ステートメントは、コマンド ラインでパラメーターが指定されていない場合にのみ、ヘルプ メッセージを出力します。ま、そのつもりです。それはそれがしていることではありません。

@ECHO OFF

:Start
SET a_file_was_processed="false"
IF "%1" NEQ "" (
  SET a_file_was_processed="true"
  ECHO Extracting table %1 from database.
  DoSomething word%1 > output_%1.txt
  ECHO Finished extract table to file output_%1.txt
SHIFT
GOTO Start
)

if a_file_was_processed NEQ "true" (
  ECHO Invoke this script as: Extract_From_sdf  table_name1   table_name2
)

アイデア?

4

1 に答える 1

1

これらの変更を試してみたところ、期待どおりに動作するようです

@ECHO OFF

SET a_file_was_processed="false"
:Start
IF "%1" NEQ "" (
  SET a_file_was_processed="true"
  ECHO Extracting table %1 from database.
  rem --- DoSomething word%1 > output_%1.txt
  ECHO Finished extract table to file output_%1.txt
SHIFT
GOTO Start
)

if %a_file_was_processed% NEQ "true" (
  ECHO Invoke this script as: Extract_From_sdf  table_name1   table_name2
)

最初の明らかなエラーは、false に設定する前のラベル :Start です。次に、変数の値を参照するには、変数を % で囲む必要があります

于 2012-10-03T20:27:49.400 に答える