2017-03-18 3 views
0

これは私にとっては以前には起こりませんでした。ファイルへの一括書き込みは、ECHOがOFFの状態で戻ってきます。

私は、テキストファイルから変数を設定するには、このコードを使用:それから私は、%TEST%の1に試してみました

set Drive=E 
for /f "Delims=" %%a in (%Drive%:\Data\TestAttempt.txt) do (
set TEST=%%a 
) 

:最後に

set /A TEST=TEST+1 

を私は入れてみました同じテキストファイルに新しい変数:

cd %Drive%:\Data 
echo %TEST%> TestAttempt.txt 

以前はうまくいきましたが、今は動作しません。私は理由を理解していない...それはまだエコーはオフを返します。 TestAttempt.txtファイル。それは2でなければなりません。

%TEST%と>の間にスペースを作成しようとしましたが、+1を使用できません。

おかげ.. :)

+1

私は 'set/a Test + = 1'を使います。エコーがdoのカッコの中にある場合は、解析時間の値ではなく現在の値を得るために遅延拡張が必要です。 [ss64.com](https://ss64.com/nt/delayedexpansion.html)を参照してください。 – LotPings

答えて

2

変化

echo %TEST%> TestAttempt.txt 

>TestAttempt.txt echo %TEST% 
に直接リダイレクタは、そのデバイス番号(0 = STDIN、1 = STDOUT、2 =をリダイレクトする前にstderr)

コードがechoに変更され、echoステータス(オンまたはオフ)。

echo(%potentiallyemptyvar%は、potentiallyemptyvarが空の場合は空の行を生成します。

関連する問題