2017-05-15 6 views
0

さて、テキストファイルに少数の数値を書き込むこのコードがあります。テキストファイルの内容(バッチファイル)に基づいて設定された変数を作成する方法

echo 1 >> "C:\Users\Slots\Slot1\charlv.txt" 
echo 0 >> "C:\Users\Slots\Slot1\chardeaths.txt" 
echo 0 >> "C:\Users\Slots\Slot1\charexp.txt" 
echo 0 >> "C:\Users\Slots\Slot1\chareqp1.txt" 
echo 0 >> "C:\Users\Slots\Slot1\chareqp2.txt" 
echo 0 >> "C:\Users\Slots\Slot1\chareqp3.txt" 

ここでは、これらのテキストファイルに書き込まれた内容に基づいて変数を作成します。私の推論では、保存ファイルを作成して、プログラムが閉じられると、必要な変数が戻ってくるようにします。

テキストファイルの内容に基づいて変数を設定するはずのこのコードがありますが、変数を "0"、さらには "LV"に設定するだけです「1」に設定されているものとする。

set /a "LV=C:\Users\Slots\Slot1\charlv.txt" 
set /a "DEATHS=C:\Users\Slots\Slot1\chardeaths.txt" 
set /a "EXP=C:\Users\Slots\Slot1\charexp.txt" 
set /a "EQP1=C:\Users\Slots\Slot1\chareqp1.txt" 
set /a "EQP2=C:\Users\Slots\Slot1\chareqp2.txt" 
set /a "EQP3=C:\Users\Slots\Slot1\chareqp3.txt" 

最後のコードで何が問題なのか教えていただけますか?

答えて

2

set /aは、ファイル名を評価しようとしていますが、意味がありません。

set/p var=<filename 

が役に立ちます。

これはゲームのように見えるので、私はそのようなその後#

と同じ文字列で始まるあなたの保存可能な変数のすべて、あなたのgame saveコマンド

  • 宣言をお勧めしたいです単に

    set #>filename 
    

    であり、あなたのgame reloadルーチンは

    です
    for /f "delims==" %%a in ('set # 2^>nul') do set "%%a=" 
    for /f "delims=" %%a in (filename) do set "%%a" 
    

    最初の行は現在のゲーム変数をクリアし、2番目のリロードはファイルからクリアされます。

+0

ありがとうございましたが、それはかなり私をクリックしていない、私は コマンド "の使用"に慣れていない、私はまた、 "トークン"が何か手がかりがない、たくさんのプログラムで、どこかで私のことを説明したり、ここでブリーフィングをしたりできますか? –

+2

プロンプトから、ドキュメンテーションのために 'for /?'を使います(*コマンド* /?は一般的にドキュメンテーションを生成します;あなたはscollingを止めるのに 'more'を追加する必要があります) – Magoo

関連する問題