[前の記事]« ファイルの更新日付の取得について
[次の記事]「ファイルが見つかりません」をログに出力したい »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「SET, PATH, %環境変数%」索引へ

バッチファイルからの剰余の計算がうまく行かない

1307.
バッチファイルから剰余の計算がうまく行かない件です。
2006年07月26日(水) 14時49分
ken
たびたび済みません。ken です。
先ほどとはまったく別件ですが、質問させてください。

●環境
 MS Windows XP + SP2

●質問
 コマンドプロンプトから
 c:\>set /A VAR1=7%2
 1
 c:\>echo %VAR1%
 1
 と行うとうまく行くのですが(この例だと7を2で
 割った余りが表示される)。
 同じ内容をバッチファイルに記述して実行すると
 7とecho されてしまいます。
 色々テストしたところ、計算されずに % の前に
 記入した数値が表示されてしまっているようです。
 % 以外の + - * / の四則演算は問題ありません。
 もし対応方法をご存知でしたら教えて下さい。
 (Webで コマンドプロンプト 剰余 などで
 検索しても同様の事例は見つかりませんでした。
 弊社環境だけでしょうか)
1308.
Re:バッチファイルから剰余の計算がうまく行かない件です。
2006年07月26日(水) 14時57分
ぽてCCP◆fcMgMQA=
遅延展開の関係じゃないでしょうか?
1310.
Re:バッチファイルから剰余の計算がうまく行かない件です。
2006年07月26日(水) 15時09分
otn
> コマンドプロンプトから
> c:\>set /A VAR1=7%2
> 1

バッチファイル中で%を使いたいときには%%と2つ書く必要があります。これはバッチファイルの大原則。

set /? に

>論理演算子またはモジュール演算子を使う場合は、式文字列を引用符で
>囲む必要があります。

とありますが、この「モジュール演算子」は「モジュロ演算子=剰余演算子」の誤訳で、さらに引用符で囲むというのも間違いです(英文も間違い)。

引用符で囲む必要のある演算子は、& | ^ << >> およびそれらと = の組み合わせです。
1311.
Re:バッチファイルから剰余の計算がうまく行かない件です。
2006年07月26日(水) 15時10分
ken
ぽてCCP◆fcMgMQA= さん、早速ありがとうございます。
バッチファイルで
@echo off

setlocal enabledelayedexpansion ← これを追加
set /A VAR1=7%2
echo %VAR1%

としてみたのですが、やはり % の前に記述した数値(7)が表示されてしまいます。
やり方がまずいでしょうか。
(頼ってしまって申し訳ございません)
1312.
Re:バッチファイルから剰余の計算がうまく行かない件です。
2006年07月26日(水) 16時15分
ken
otnさん、ありがとうございます。
教えていただいた方法でうまく行きました。
そう言えば、今まで バッチファイルのfor の中などで
% を2つ書いていましたが、深く意味を考えたことが
有りませんでした。
もう少し基本を理解して、自分で考えるようにいたします。

otnさん、ぽてCCP◆fcMgMQA= さん、ありがとうございました。
 
 

1307.バッチファイルから剰余の計算がうまく行かない件です。 ken 06/07/26(水) 14:49
1308.Re:バッチファイルから剰余の計算がうまく行かない件です。 ぽてCCP◆fcMgMQA= 06/07/26(水) 14:57
1311.Re:バッチファイルから剰余の計算がうまく行かない件です。 ken 06/07/26(水) 15:10
1310.Re:バッチファイルから剰余の計算がうまく行かない件です。 otn 06/07/26(水) 15:09
1312.Re:バッチファイルから剰余の計算がうまく行かない件です。 ken 06/07/26(水) 16:15
 
 


カテゴリー「SET, PATH, %環境変数%」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2006年07月26日 02:19に投稿されたエントリーのページです。

ひとつ前の投稿は「ファイルの更新日付の取得について」です。

次の投稿は「「ファイルが見つかりません」をログに出力したい」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート