ハードなソフトの話

アクセスカウンタ

zoom RSS バッチファイルでカウンターファイルを作る

<<   作成日時 : 2013/04/03 22:16   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

ときどきバッチファイルの中で数字をカウントしてその値をファイルに保存したいことがある。たとえば、コマンドを実行した回数をファイルに保存したいとか。

作ってみた。こんな感じ:

@echo off
setlocal enableDelayedexpansion
set var_name=%1
set var_cmd=%2
set var_val=%3
set var_dir=%~dp0
if "%var_name%"=="" (
   for %%n in ( %var_dir%*.var ) do for /f %%v in (%%n) do echo %%~nn = %%v
   goto :eof
)
if "%var_cmd%"=="set" (
   echo !var_val!>%var_dir%%var_name%.var
   goto :eof
)
if "%var_cmd%"=="get" (
   for /f %%i in (%var_dir%%var_name%.var) do echo %%i
   goto :eof
)
if "%var_cmd%"=="inc" (
   for /f %%i in (%var_dir%%var_name%.var) do set /a r= %%i+1
   echo !r!>%var_dir%%var_name%.var
   echo !r!
   goto :eof
)
if "%var_cmd%"=="dec" (
   for /f %%i in (%var_dir%%var_name%.var) do set /a r= %%i-1
   echo !r!>%var_dir%%var_name%.var
   echo !r!
   goto :eof
)
if "%var_cmd%"=="del" (
   del %var_dir%%var_name%.var
   goto :eof
)
echo invalid command "%var_cmd%"

このソースをコピーしてvar.batというファイル名で保存する。

使い方は、こんな感じ:

  • countという名前のカウンターに0を設定する:
    var count set 0
  • countに1を足す:
    var count inc
  • countから1を引く:
    var count dec
  • countを表示する:
    var count get

たとえば、次のように入力する

var set 0
var count inc
var count inc
var count inc
var count get

こうすると、count.varというファイルが作成され、3という値が保存される。

バッチファイルの中でcountの値を取り出してresultに設定したい場合は次のようにする。

for /f %%i in ('call var count get') do set result=%%i

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
バッチファイルでカウンターファイルを作る ハードなソフトの話/BIGLOBEウェブリブログ
文字サイズ:       閉じる