その他

実行するユーザー毎に違う動きをするバッチファイルの作成方法[No34]

投稿日:2020年7月1日 更新日:

スポンサーリンク

プログラム開発した場合、開発してできたプログラム一式は「実行するプログラム一式」となることが多いです。

しかし、次のような場合は、=(イコール)にならないことが良くあります。それは、ライセンスの都合上、使用するソフトによって、「このライセンスではプログラムの開発しかできません。このライセンスでは実行しかできません。」と定められているソフトを利用している場合で、かつ、ユーザー名が違う場合です。開発専用端末で作成したプログラムを、実行専用端末に移し、バッチファイルなどの外部ファイルをその端末に合うにした場合、ファイル名は同じでも中身が若干異なってしまいます。

そのため、最悪、ソース管理に通常の3倍の容量を擁してしまいます。

今回は、一つのファイルで、ユーザー名によって異なる動作をさせる方法を紹介します。

準備

まず、コマンドプロンプトを立ち上げログオンしているユーザーを確認します。

プログラム1の場合


@echo off
IF %USERNAME%==AdminUser (echo AdminUser Process)
IF %USERNAME%==otherUser (echo otherUser Process)
pause

プログラム2の場合


@echo off
IF %USERNAME%==AdminUser (
   echo AdminUser Process
)
IF %USERNAME%==otherUser (
   echo otherUser Process
)
pause

プログラム3の場合


@echo off
REM C:\Users\AdminUser\Downloads
START "" "C:\Users\%USERNAME%\Downloads\samplenow.bat"
Pause

@echo off
echo Successful access
pause

プログラム4の場合


@echo off
IF %USERNAME%==AdminUser (
  echo AdminUser Process
) ELSE (
  echo otherUser Process
)
pause

プログラム5の場合


@echo off

echo %USERNAME%
goto %USERNAME%

:AdminUser01
echo otherUser01 Process
goto END

:otherUser02
echo otherUser02 Process
goto END

:AdminUser
echo AdminUser Process
goto END

:otherUser03
echo otherUser03 Process
goto END

:otherUser04
echo otherUser04 Process
goto END

:END
echo END
pause

プログラム6の場合


@echo off

echo %USERNAME%
goto %USERNAME%

:AdminUser01
echo otherUser01 Process
pause
goto :EOF

:otherUser02
echo otherUser02 Process
pause
goto :EOF

:AdminUser
echo AdminUser Process
pause
goto :EOF

:otherUser03
echo otherUser03 Process
pause
goto :EOF

:otherUser04
echo otherUser04 Process
pause
goto :EOF

開発・実行専用端末でソース管理する場合のポイント

最後までお付き合いいただきありがとうございます!

この情報が誰かの役にたてれば幸いです。

スポンサーリンク

タグ

-その他

© 2021 BookALittle