[前の記事]« フォルダ内を比較し、同名ファイルがあったらXCOPYを中止するには
[次の記事][NT系]ファイルの削除が成功したかどうかを検出するには »

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

▲カテゴリー「SET, PATH, %環境変数%」索引へ
▲カテゴリー「こんなことは可能ですか?」索引へ

ファイルから読み込んだ数値を演算するには?

659.
ファイルから読み込んだ数値の演算するには?
2004年07月20日(火) 23時52分
shin
はじめまして。DOS初心者です。
テキストファイルに書かれた数値を読み込み、1を足した値でフ
ァイルに上書きというバッチの作成方法があれば教えて頂きたい
のですが。

例)
(バッチ処理前) cnt.txt (テキスト内容:30)
(バッチ処理後) cnt.txt (テキスト内容:31)

宜しくお願いいたします。。
660.
Re:ファイルから読み込んだ数値の演算するには?
2004年07月21日(水) 17時13分
oo
>はじめまして。DOS初心者です。
>テキストファイルに書かれた数値を読み込み、1を足した値でフ
>ァイルに上書きというバッチの作成方法があれば教えて頂きたい
>のですが。

>例)
>(バッチ処理前) cnt.txt (テキスト内容:30)
>(バッチ処理後) cnt.txt (テキスト内容:31)

>宜しくお願いいたします。。

ファイルの内容は1行だけですよね。NT,2000,XPなら下記で出来ます。

@echo off
setlocal
for /f %%A in (cnt.txt) do set /a N=%%A+1
echo %N%> cnt.txt
661.
Re:ファイルから読み込んだ数値の演算するには?
2004年07月21日(水) 17時18分
ラシャン
例のまま作るとこんな感じでしょうか?
テキストの内容が数値だけならこれでいけると思います。

test.bat
-----------------------------------------------------------
@echo off
for /f %%a in ('type cnt.txt') do set /a cnt=%%a+1
echo %cnt%> cnt.txt
-----------------------------------------------------------
662.
Re2:ファイルから読み込んだ数値の演算するには?
2004年07月21日(水) 17時27分
ラシャン
かぶってしまいました^^;

やはり、BAT内でSETコマンドを使う時は
SETLOCALを使った方がいいですよね?
ENDLOCALは、BATによっては省いてもOKなんですね~
勉強になりました~
663.
Re3:ファイルから読み込んだ数値の演算するには?
2004年07月21日(水) 18時53分
oo
>やはり、BAT内でSETコマンドを使う時は
>SETLOCALを使った方がいいですよね?

そうですね。また、拡張機能を使う場合 SETLOCAL  ENABLEEXTENSIONS と明示的に拡張機能オンを指定してあるスクリプトも見か けます。拡張機能オンがデフォルトですけど、意図的に拡張機能をオフにしてある環境でも動くようにということでしょう。私はそこまでは考えませんが。

>ENDLOCALは、BATによっては省いてもOKなんですね~
>勉強になりました~

setlocal /? の最初の方に
>バッチ スクリプトの終わりに達したとき、
>暗示的な ENDLOCAL が、そのバッチ スクリプトによって発行されたすべての未完了の
>SETLOCAL コマンドのために実行されます。
と書いて有ります。まあ、センスの問題として必ずつけるというポリシーもありでしょう。

for /f %%A in (filename) と for /f %%A in ('type filename') の違いは後者がファイル内容 がUnicodeでも良いと言う利点がありますが、今回のようなケースではその必要が無いので前者の方が良いと思います。まあ、処理時間の差は測定できな い程度でしょうが。
664.
うまくいきました。
2004年07月21日(水) 23時07分
shin
oo様、ラシャン様
教えて頂いた通りに記述してみたところ、うまくいきました。
勉強になりました。どうもありがとうございます。
 

 

659.ファイルから読み込んだ数値の演算するには? shin 04/07/20(火) 23:52
660.Re:ファイルから読み込んだ数値の演算するには? oo 04/07/21(水) 17:13
661.Re:ファイルから読み込んだ数値の演算するには? ラシャン 04/07/21(水) 17:18
662.Re2:ファイルから読み込んだ数値の演算するには? ラシャン 04/07/21(水) 17:27
663.Re3:ファイルから読み込んだ数値の演算するには? oo 04/07/21(水) 18:53
664.うまくいきました。 shin 04/07/21(水) 23:07
 
 


カテゴリー「SET, PATH, %環境変数%」索引へ
カテゴリー「こんなことは可能ですか?」索引へ

 

カテゴリー一覧

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


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

資料書籍

About

2004年07月20日 23:08に投稿されたエントリーのページです。

ひとつ前の投稿は「フォルダ内を比較し、同名ファイルがあったらXCOPYを中止するには」です。

次の投稿は「[NT系]ファイルの削除が成功したかどうかを検出するには」です。

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

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