プログラム 技術

batファイルで多重起動させない

個人でbatファイル経由でプログラムを実行することが多々あり、その際にbatファイルを誤って多重起動させてしまわないようにする仕組みを組み込んだのでその時のメモとなります

どうしたのか

まず、どのような処理かを簡単に説明すると起動時にファイルを作成し、そのファイルが存在した場合は以降の処理をしないという仕掛けとしては簡単なものとなっています。コードに落とし込むと以下のようになります

@echo off

REM batファイルのパスまで移動
cd /d %~dp0

REM 多重起動防止
set LOCKFILE=%~dp0(batファイル名).lock
if exist "%LOCKFILE%" (
    echo 既に実行中です。多重起動はできません。
    pause
    exit /b 1
)
REM 時間を書き出してロック用ファイルを作成する
echo %date% %time% > "%LOCKFILE%"

~~ ここの間に処理を書く ~~

REM 作成したロック用ファイルを削除
del "%LOCKFILE%" 2>nul

上記のコードで実際に多重起動を防ぐことが出来ました
今回は短いですがこんな感じで終わろうと思います

会社紹介

私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています

会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造

この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています

ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します

ホームページ
アドバンスド・ソリューション株式会社|ADS Co., Ltd.
アドバンスド・ソリューション株式会社|ADS Co., Ltd.

Microsoft 365/SharePoint/Power Platform/Azure による DX コンサル・シス ...

サイトへ移動

PR

-プログラム, 技術
-