web-dev-qa-db-ja.com

Windowsバッチスクリプトでの式の評価

私はおそらく明白なことを見逃しているので、これはこれまでで最もばかげた質問であることが判明する可能性があります。とにかく、ここにあります:バッチスクリプトで式を評価できますか。たとえば、2つの数値を加算して、結果を出力したいとします。

echo 4+2

これにより、「6」ではなく「4 +2」が出力されます。たぶん私はWindowsでバッチスクリプトを少しやりすぎています...

ありがとう!

5
raoulsson

こちらです:

Set /a 4+2

または、後で使用するために変数に保存するには:

Set /a foo = 4+2
echo %foo%

そして最後の行に答えるために、意図したよりも少しだけバッチをプッシュしている可能性があります。 Windows Script Hostはマシンで利用可能であり、VBScriptまたはJScriptを許可します。また、とにかく何か新しいことを学ぶつもりなら、代わりにPowershellを使用することを強くお勧めします。

7
EBGreen
set Result=0

echo start %Result%

echo Adding 4 and 2
set /a Result= 4+2

echo finish %result%

pause >nul
3
Izzy

Bash/Perlがインストールされている場合(例:cygwin)、それらを呼び出して計算を行います。

@for /f "delims=" %%a in ('Perl -e "print(%*)"'        ) do @set RESULT=%%a
@echo %RESULT%

@for /f "delims=" %%a in ('bash -c "echo $((%*))"'        ) do @set RESULT=%%a  
@echo %RESULT%

サンプル結果:

c:\> script.cmd  2**10/3
341.333333333333
341
0
mosh