C:\WINDOWS\system32>SetLocal EnableDelayedExpansion
C:\WINDOWS\system32>set/a Number1=3+9
12
C:\WINDOWS\system32>if !Number1!==9+3 (echo Good) else (echo Bad)
Bad
C:\WINDOWS\system32>if !Number1!==3+9 (echo Good) else (echo Bad)
Bad
C:\WINDOWS\system32>set/a i=9+3
12
C:\WINDOWS\system32>if !Number1!==%i% (echo Good) else (echo Bad)
Bad
Я ожидал увидеть последние результаты (и, возможно, некоторые другие), чтобы показать Good
как результат, но не сделал! Я думаю, это потому, что это ошибка с SetLocal EnableDelayedExpansion
, но мне это нужно в моем коде. Итак, как мне получить ожидаемый результат с SetLocal EnableDelayedExpansion
. Спасибо за любую предоставленную помощь =)Пакетные SETLOCAL EnableDelayedExpansion и математические проблемы
Вы набираете все эти строки в командной строке ?? в этом случае 'setlocal EnableDelayedExpansion' не действует, и поэтому расширение' !! 'не будет работать; вам нужно открыть новый экземпляр 'cmd', чтобы включить замедленное расширение:' cmd/V: ON' – aschipfl
Кроме того, вы должны использовать оператор сравнения 'EQU' для числовых операций, потому что' == 'force * string * сравнение .. – aschipfl
Да, я набрал все команды в командной строке. И да, после того, как я попробовал это в пакетном файле, это сработало! Я также попробую использовать EQU. Спасибо :) :) :) – Gerrardio