2016年10月18日

メニュー付きのDOSバッチファイルを作成する

以前、システムの初期設定などを行うときに、バッチファイルを組んでそれを納品先の担当者に実行してもらうということをやっていました。

担当者の方はシステムについては詳しくありませんでしたので、分かりやすい形で初期設定を行っていただく必要がありました。

そこで考えたのは、バッチファイルにメニューを表示して、担当者の方にはただメニューの番号を入力してもらうだけにするということです。
そうすれば手順を間違えたり、おかしな操作をしてしまうといったことが無くなります。


以下にそのバッチファイルの内容をご紹介します。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
@echo off
REM ----- メニュー表示バッチ・ファイル
 
:TOP
 
echo *****************************************************************
echo * menu                                                          *
echo *                                                               *
echo *   1:メモ帳                                                    *
echo *   2:ペイント                                                  *
echo *   3:電卓                                                      *
echo *  99:終了                                                      *
echo *                                                               *
echo *****************************************************************
 
:MENUSTART
 
set USR_INPUT_STR=
set /P USR_INPUT_STR="番号を入力してください: "
 
if %USR_INPUT_STR%==1 (
  goto EXECUTE_NOTEPAD
) else if %USR_INPUT_STR%==2 (
  goto EXECUTE_PAINT
) else if %USR_INPUT_STR%==3 (
  goto EXECUTE_CALC
) else if %USR_INPUT_STR%==99 (
  goto EXITTRAP
) else (
  echo メニューにその番号はありません。
  echo.
  goto MENUSTART
)
 
REM メモ帳の起動
:EXECUTE_NOTEPAD
notepad
cls
goto TOP
 
REM ペイントの起動
:EXECUTE_PAINT
mspaint
cls
goto TOP
 
REM 電卓の起動
:EXECUTE_CALC
calc
cls
goto TOP
 
:EXITTRAP
echo.
echo 終了します。
pause


実行画面


実際はもっと複雑なことをやってたのですが、分かりやすく単純化しています。
ポイントは、goto文を駆使しているところです。
プログラミングにおいて通常goto文はあまり良しとされてないのですが、バッチでこのような処理を行うにはどうしても必要になってきてしまいます。

バッチファイルならどの環境でも動きますし、また、ただのテキストファイルなので現場で修正するといったこともすぐに出来ます。

気になる方はぜひ試してみてください。



スポンサーリンク



Follow Me on Pinterest
Clip to Evernote