1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バッチファイル自身に自動アップデート機能を搭載する方法

Last updated at Posted at 2024-03-07

バッチファイル自身に自動アップデート機能を搭載する方法を紹介します。複数のPCの一括適用に便利です。

※ これは2016-09-27に個人ブログで公開した記事を移植し、CC0-1.0で提供しています。情報は古い可能性があります。

需要

Windows PC数十台が稼働しており、それぞれのPCは個人で自由に使えるようにしています。ある作業をするためにバッチファイルを使っています。すべてのPCからNASへ接続できるようにしてあり、バッチファイルのバージョンアップ時は、各自NASからダウンロードして上書き保存をするようにしていました。ユーザーの手間を削減できればいいなと思い自動アップデート機能を搭載しました。

方法

NASに最新バージョンのみを記載したテキストファイルと最新版のバッチを設置します。バッチには、作業の最後に最新版があれば更新してから終了するようにプログラムを作成しました。ファイルの末尾に記載するのがミソです。このあとに他の作業をすると不具合がおきます(gotoなど)。

SET /A CURRENTVERSION=10
SET /P NEWVERSION=<"\\NAS\[~]version"
if %CURRENTVERSION% LSS %NEWVERSION% (copy /y "\\NAS\[~]バッチ.bat" %0)

CURRENTVERSION に現在のバージョン、最新バージョンのみを記載したテキストファイルの内容を NEWVERSION に代入して比較し、 NEWVERSION の方が大きい場合は自身のバッチ(%0)へ上書きコピーするという仕組みです。

意外と簡単に実装できました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?