因此,我製作了一個計算器,允許其用戶命名其以前的結果以便在將來的計算中使用它們。它的工作原理是,當你給以前的結果命名時,它會創建一個名稱被選中的變量,然後將其值設置爲前一個結果。它看起來是這樣的:批處理:獲取另一個變量的值中存在的變量的值
set /p equation=
::variables need to be replaced here
set /a result=%equation%
::giving a name
set /p name=
set %name%=%result%
的問題是,我不能想出一個辦法讓方程中的變量的值,因爲公式也是可變的,所以每當我在一個命令添加公式與%equation%
,它只是取代它像1+%named_result%
。有沒有一種方法可以用同一個方程來轉換方程,但是變量是用它們的值代替的? (set equation=%equation%
不工作)
閱讀來自[delayedexpansion](http://ss64.com/nt/delayedexpansion.html )並使用call/for [強制另一個擴展](https://stackoverflow.com/questions/1199931/how-to-expand-ac md-shell-variable-twice-recursively) – LotPings
這不是必需的。出現在「SET/A」命令公式中的任何_variable name_自動被變量值替換。即'set equation = 1 + named_result' – Aacini