基本的なバッチ式の数学スクリプトを試していますが、常にオペランドが見つからないと教えてくれます。私はここで同様の問題を調べて構文にマッチしようとしましたが、同じエラーが発生しました。ここでのスクリプトは次のとおりです。基本バッチ・マス変換 - 欠落しているオペランド?
@echo OFF
set /p Choice=(a) Amps to Horse Power, (h) Horse Power to Amps:
set /p VOLTAGE=ENTER VOLTAGE:
if %Choice%==a (
set /p AMPS=ENTER AMPS:
set /a WATT=%VOLTAGE%*%AMPS%
echo power is:%WATT%
REM set /a HP=%WATT%/746
REM echo %HP%
)
if %Choice%==h (
set /p HP=ENTER HORSEPOWER:
set /a AMPS=((%HP% * 746)/%VOLTAGE%)
echo %AMPS%
)
使用するか、 '設定/ "AMPS =((%HP%* 746)/%の電圧%)" や' 'セット/ AMPS = ^(^(%HP %* 746 ^)/%VOLTAGE%^) ';コマンド・インタープリタ( 'cmd')は、最初の') 'を'%%Choice%== h( ')の終わりのものと見なしているので、ここでのカッコは閉じています; 'または'^'の前にそれらをエスケープすると 'cmd'からそれらを隠す... – aschipfl
まだ同じ問題:/について知っている良い情報) – Russ
ああ、そうです。すべての 'set/a'コマンドラインで周囲の'% '記号をすべて削除してください(例えば 'set/a WATT = VOLTAGE * AMPS ')。さもなければ、 '%AMPS%'はその値に評価されます*前にペーストされたコードのカッコで囲まれたブロックが実行されます。これは何も実行されません... – aschipfl