0

バッチ ファイル全体で変数の転送に問題があります。

これは私が持っているものの大まかな例です:

@echo off
setlocal enabledelayedexpansion

:one
set variableone=outputone
set variabletwo=outputtwo
set variablethree=outputthree
goto two

:two
set /a variable%variableone%four=numberone
set /a variable%variabletwo%five=numbertwo
set /a variable%variablethree%six=numberthree
goto three

:three
set /a variable%variableone%four+=(2*(!variable%variabletwo%five!-!!variable%variablethree%six!)
echo !variable%variableone%four!
exit

それよりもかなり長く、これは実際の単純化されたバージョンにすぎませんが、ラベル「:three」の変数は転送されないため、変数は空白になり、方程式も空白のままになります。これを修正する方法はありますか?

4

1 に答える 1

1

あなたが何をしているのかを見るのは非常に難しいです。

NUMBER*以下のコードでは、変数名を値に置き換えました。

欠落している右括弧も追加しましたが、2 つの連続した括弧について疑問に思っています!

@ECHO OFF
setlocal enabledelayedexpansion

:one
set variableone=outputone
set variabletwo=outputtwo
set variablethree=outputthree
goto two

:two
set /a variable%variableone%four=numberone
set /a variable%variabletwo%five=numbertwo
set /a variable%variablethree%six=numberthree
set /a variable%variableone%four=14
set /a variable%variabletwo%five=25
set /a variable%variablethree%six=36
goto three

:three
set /a variable%variableone%four+=(2*(!variable%variabletwo%five!-!!variable%variablethree%six!))
echo !variable%variableone%four!
set var

今私にとってエコーされているのは-8で、これは 14+(2*(25-36)) に等しい

だから - 私のために働く!

于 2013-11-07T04:39:11.703 に答える