2017-12-07 17 views
-2

バッチファイルを使用するたびに反復処理されている番号のテキストファイルが必要です。私はこれまでのところ、これを試してみましたが、そのは動作していない...バッチ:番号の読み出し、繰り返し、書き戻し

set laufende_nr=0 
if not exist echo %laufende_nr% > %def_log_dir%\laufende_nr.tmp 
for /L %%i in (%def_log_dir%\laufende_nr.tmp) set laufende_nr=%%i 
echo %laufende_nr% 
set /a laufende_nr+=laufende_nr 
echo %laufende_nr_neu% > %def_log_dir%\laufende_nr.tmp 
+0

cmdプロンプトを開き、FORコマンドのヘルプを読むことを検討してください。 /を入力しますか? – Squashman

答えて

0

はここで勉強するためのいくつかの簡単なサンプルコードです:

Set "laufende_nr=" 
If Exist "%def_log_dir%\laufende_nr.tmp" (
    Set/P "laufende_nr="<"%def_log_dir%\laufende_nr.tmp" 
) 
If Not Defined laufende_nr Set "laufende_nr=0" 
Echo %laufende_nr% 
Set/A laufende_nr+=1 
(Echo %laufende_nr%)>"%def_log_dir%\laufende_nr.tmp" 

は、それぞれの情報のために、必要に応じてSet/?If/? & Echo/?を入力します。

編集
あなたは、あなたが最良のSet /ASet/Aを変更および/またはSet/PからSet /Pは、必要に応じて変更することをお勧めだろう、APのいずれかという名前の実行可能ファイルが含まれていSetという名前の相対ディレクトリを持っている場合。

+0

__注意__正しいコマンドラインの構文は__command__ * space * __argument__ * space * __argument__ ...コマンド 'Set/A laufende_nr + = 1'はコマンド' Set'と引数 '/ A'の間にスペースを入れずに最初の 'laufende_nr + = 1'引数のみを使用して' set'サブディレクトリにある環境変数 'PATHEXT'で指定されたファイル拡張子を持つ名前' a'のファイルを実行します。実際に必要なコマンドと引数の間のスペースも欠けている 'Set/P" laufende_nr = "'と同じ問題が考えられます。コマンドのヘルプについては 'set /?'のようなコマンドプロンプトウィンドウで 'command /?'を実行してください。 – Mofi

+0

@Mofiもちろん、私の答えで与えられたように、** '?' **はWindowsファイル/ディレクトリの命名が許可されていないので、 'command /?'、_(空白なし)_を実行するだけです。 – Compo

+0

はい、1つの__could__は 'command /?'を実行します。これは常に '?'がファイル/ディレクトリ名で許可されず、Windowsコマンドインタープリタのエラー処理が 'command'が__command__と' /? 'は__argument__です。しかし誰も 'command /?'を実行する人はいませんが、常に正しい構文 'command /? 'を使います。コマンドラインで初心者には正しい構文を学ぶことが不可欠です。 Unixから移植された実行可能ファイルは、ヘルプを表示するために引数として ' - ?'または ' - h'または' --help'を必要とします。 'ping-?'は動作しませんが、 'ping - ?'と 'ping /?'(そしてcmdエラー訂正による 'ping /?') – Mofi

関連する問題