1

これは、cronoからのこの回答に関連する構文の質問です:https : //stackoverflow.com/a/40869/1783806

@echo off

for /f " delims==" %%i in (counter.txt) do set /A temp_counter= %%i+1
echo %temp_counter% > counter.txt

とが同じディレクトリにあるcount.batと仮定します。counter.txt

ディレクトリ構造を変更すると、「演算子がありません」というエラーが発生します。

"C:\foo\counter.txt"これは、構造を次のように変更したときにCMDが返すものです。

C:\foo>for /F " delims==" %i in ("C:\foo\counter.txt") do set /A temp_counter=%i+1

C:\foo>set /A temp_counter=C:\foo\counter.txt+1
Missing operator.

C:\foo>echo 0  1>"C:\foo\counter.txt"

ファイルが異なるディレクトリにある場合、同じコードを機能させるにはどうすればよいですか?

エラーが発生している理由を誰かが説明できますか?

4

1 に答える 1

2

最初のコードでは、IN()句を引用しないため、ファイルとして扱われます。

2番目のコードでは、IN()句を引用符で囲んでいるため、ファイルではなく文字列リテラルとして扱われます。USEBACKQファイル名を引用符で囲む場合は、FOR/Fオプションにオプションを追加する必要があります。HELP FORFORコマンドのさまざまなバリエーションの詳細については、入力してください。

于 2012-11-01T17:31:15.530 に答える