0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【ツール】DOS画面ランチャー(ベータ版)

Last updated at Posted at 2020-06-01

#はじめに
この頃は勝手にランチャーソフトも使用できないような環境下でしたので
DOSコマンドプロンプトで昔ながらの画面を作ってみました。

##ファイル構成
ランチャ_初期設定.bat
ランチャ_メイン.bat
ランチャ_起動AP設定.bat

##ランチャ_メイン.bat

ランチャ_メイン.bat

@echo OFF

rem 初期設定

REM =======================
rem 起動時のパス設定を行なう
REM =======================
CALL .\ランチャ_初期設定.bat


rem 一時停止(デバック用)
rem pause

rem カレント設定
cd /d %~dp0


REM *************************************************************
REM *************************************************************
REM 画面1(:menudisp01)
REM *************************************************************
REM *************************************************************
:menudisp01

    REM 画面初期設定
    SET NOW_DISP=1
    SET INPUT_STR=N
    CLS
    color 0A
    REM ********************[画面]*******************************
    echo ★★★画面1 ★★★ 
    echo  %HED_MSG1%
    echo ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho ---【XXXXXXXXXXXXXXX】--------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho --------------------------------------------------------------------------------
    rem 入力待ち
    SET /P INPUT_STR=">"

    rem 設定画面数以下の場合は最初の画面に
    IF %NOW_DISP% lss %DISP_CNT% (
        IF /I %INPUT_STR%==N   GOTO :menudisp02
    ) ELSE (
        IF /I %INPUT_STR%==N   GOTO :menudisp01
    )

    GOTO :APP_RUN

REM *************************************************************
REM *************************************************************
REM 画面2(:menudisp02)
REM *************************************************************
REM *************************************************************
:menudisp02
    REM 画面初期設定
    SET NOW_DISP=2
    SET INPUT_STR=N
    CLS
    color 0A
    REM ********************[画面]*******************************
    echo ★★★画面2★★★
    echo  %HED_MSG2%
    echo ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho ---【マイフォルダ】-------------------------------------------------------------
    echo DownLoad|ダウンロードフォルダ
    echo PDF     |PDF出力先
    echo Desktop |ディスクトップ
    echo Pictur  |ピクチャー
    echo Document|ドキュメント
    echo   XXXXecho ---【その他】------------------------------------------------------------------
    echo  SENDTO |送るフォルダを開く
    echo STARTUP |スタートアップフォルダを開く
    echo   CMD  |コマンドプロント画面
    echo   DEN   |電卓
    echo   XXXXecho ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho -------------------------------------------------------------------------------

    rem 入力待ち
    SET /P INPUT_STR=">"

    rem 設定画面数以下の場合は最初の画面に
    IF %NOW_DISP% lss %DISP_CNT% (
        IF /I %INPUT_STR%==N   GOTO :menudisp03
    ) ELSE (
        IF /I %INPUT_STR%==N   GOTO :menudisp01
    )

    GOTO :APP_RUN

REM *************************************************************
REM *************************************************************
REM 画面3(:menudisp03)
REM *************************************************************
REM *************************************************************
:menudisp03
    REM 画面初期設定
    SET NOW_DISP=3
    SET INPUT_STR=N
    CLS
    color 0A
    REM ********************[画面]*******************************
    echo ★★★画面3 ★★★
    echo  %HED_MSG3%
    echo ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho --------------------------------------------------------------------------------

    rem 入力待ち
    SET /P INPUT_STR=">"

    rem 設定画面数以下の場合は最初の画面に
    IF %NOW_DISP% lss %DISP_CNT% (
        IF /I %INPUT_STR%==N   GOTO :menudisp04
    ) ELSE (
        IF /I %INPUT_STR%==N   GOTO :menudisp01
    )
    GOTO :APP_RUN

REM *************************************************************
REM *************************************************************
REM 画面4(:menudisp04)
REM *************************************************************
REM *************************************************************
:menudisp04
    REM 画面初期設定
    SET NOW_DISP=4
    SET INPUT_STR=N
    CLS
    color 0A
    REM ********************[画面]*******************************
    echo ★★★画面4 ★★★
    echo  %HED_MSG4%
    echo ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho ---【XXXXXXXXXXXXXXX】---------------------------------------------------------
    echo   XXXXecho   XXXXecho   XXXXecho   XXXXecho   XXXXecho --------------------------------------------------------------------------------

    rem 入力待ち
    SET /P INPUT_STR=">"

    IF /I %INPUT_STR%==N   GOTO :menudisp01

    GOTO :APP_RUN

REM *************************************************************
REM 実行部分
REM *************************************************************
:APP_RUN

    REM =======================
    REM 起動アプリ設定サブへ
    REM =======================
   CALL .\ランチャ_起動AP設定.bat


   rem 入力パラメータをリセットする
   SET INPUT_STR=N

   REM その画面にジャンプ
   IF %NOW_DISP%==1 GOTO :menudisp01
   IF %NOW_DISP%==2 GOTO :menudisp02
   IF %NOW_DISP%==3 GOTO :menudisp03
   IF %NOW_DISP%==4 GOTO :menudisp04


GOTO :menudisp01

##ランチャ_初期設定.bat

ランチャ_初期設定.bat
@echo OFF

rem カレント設定
cd /d %~dp0


REM *************************************************************
REM 初期設定
REM *************************************************************

rem 待ち時間
SET WAIT_TIME=5

rem EmEditorのパス定義
SET EmEditor_EXE="C:\Program Files\EmEditor\EmEditor.exe"

rem サクラエディタのパス定義
SET Sakura_EXE="C:\Program Files (x86)\sakura\sakura.exe"
rem 秀丸のパス定義
SET Hidemaru_EXE="C:\Program Files (x86)\Hidemaru\Hidemaru.exe"

rem Cassava Editorのパス定義
SET Cassava_Editor="C:\myTool\Cassava\Cassava.exe"

rem メインで使用するエディタの設定
SET STRT_EDITER= %Sakura_EXE%

rem お気に入りのエディタ設定
SET MY_EDITER=%Sakura_EXE%


rem Windows PowerShellのパス(コマンド込み) 
SET PowerShell="%APPDATA%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk" -Command

rem エクスプローラのパス定義(パス設定なし)
SET WinExplore_exe=


rem サブエクスプローラーのパス定義
SET SubExplore_exe="C:\Asr\AsrLoad.exe "
SET SubExplore_Name="C:\Asr\AsrLoad.exe "

rem エクスプローラのパス定義(パス設定なし)
SET WinExplore_exe=
SET WinExplore_Name=Explorer

rem サブエクスプローラ1ーのパス定義
SET Sub1Explore_exe="C:\Tool\xf13\xf64.exe "
SET Sub1Explore_Name=XF

rem サブエクスプローラー2のパス定義
SET Sub2Explore_exe="C:\Asr\AsrLoad.exe "
SET Sub2Explore_Name"XXXXXX"


rem URLPASS
SET URL_PASS="http://test.co.jp/"

REM 未入力の場合に次の画面に行くように
SET INPUT_STR=N

REM 現在の画面
SET NOW_DISP=01

rem ===================================
rem メニュー画面表示
rem ===================================
SET DISP_CNT=3

SET HED_MSG_NEXT=[N:次]
SET HED_MSG_MAIN=[メイン]
SET HED_MSG_EDIT=[EDIT:編集]
rem SET HED_MSG_EXP=[EXP:Explore設定]
SET HED_MSG_EXP=


SET H_DSP1_N=メイン
SET H_DSP2_N=業務
SET H_DSP3_N=ツール
SET H_DSP4_N=その他

rem 表示数より大きい場合は空白
IF 1 gtr %DISP_CNT% (
	SET H_DSP1_N=
)

rem 表示数より大きい場合は空白
IF 2 gtr %DISP_CNT% (
	SET H_DSP2_N=

)
rem 表示数より大きい場合は空白
IF 3 gtr %DISP_CNT% (
	SET H_DSP3_N=

)

rem 表示数より大きい場合は空白
IF 4 gtr %DISP_CNT% (
	SET H_DSP4_N=
)



SET H_DSP1_A=[%H_DSP1_N%]
SET H_DSP2_A=[%H_DSP2_N%]
SET H_DSP3_A=[%H_DSP3_N%]
SET H_DSP4_A=[%H_DSP4_N%]

SET HED_MSG_DISPNOW=

SET HED_MSG1=画面: %H_DSP1_A% %H_DSP2_N% %H_DSP3_N% %H_DSP4_N%       %HED_MSG_NEXT% %HED_MSG_EDIT% %HED_MSG_EXP%
SET HED_MSG2=画面: %H_DSP1_N% %H_DSP2_A% %H_DSP3_N% %H_DSP4_N%       %HED_MSG_NEXT% %HED_MSG_EDIT% %HED_MSG_EXP%
SET HED_MSG3=画面: %H_DSP1_N% %H_DSP2_N% %H_DSP3_A% %H_DSP4_N%       %HED_MSG_NEXT% %HED_MSG_EDIT% %HED_MSG_EXP%
SET HED_MSG4=画面: %H_DSP1_N% %H_DSP2_N% %H_DSP3_N% %H_DSP4_A%       %HED_MSG_NEXT% %HED_MSG_EDIT% %HED_MSG_EXP%


rem 一時停止(デバック用)
rem pause



##ランチャ_起動AP設定.bat

ランチャ_起動AP設定.bat

@echo OFF

    rem カレント設定
    cd /d %~dp0

    REM 実行確認フラグOFFにする
    set RUN_FLG=0

    REM =======================================================================_
    REM 設定       
    REM =======================================================================_
    rem 開くエクスプローラの設定
    IF /I %INPUT_STR%==SET_EXP    GOTO :SUB_EXPLORER_SET
    rem 画面編集
    IF /I %INPUT_STR%==EDIT       GOTO :SUB_EDIT

    REM =======================================================================_
    REM アプリケーション             
    REM =======================================================================_
    REM 電卓
    IF /I %INPUT_STR%==DEN         set RUN_FLG=1 & START  %windir%\system32\calc.exe
    REM EmEditer
    IF /I %INPUT_STR%==EM          set RUN_FLG=1 & START " "  %EmEditor_EXE% 
    REM SI Object Browser 10 
    IF /I %INPUT_STR%==OBJ         set RUN_FLG=1 & START " "  "C:\Program Files (x86)\OB10\ob10.exe"
    REM PaperBak
    IF /I %INPUT_STR%==DIFF        set RUN_FLG=1 & START " "  "C:\Program Files\WinMerge\WinMergeU.exe"
    REM 秀丸
    IF /I %INPUT_STR%==HIDE        set RUN_FLG=1 & START  %Hidemaru_EXE%
    REM サクラエディタ
    IF /I %INPUT_STR%==SAKU        set RUN_FLG=1 & START  %Sakura_EXE%

    REM chrome
    IF /I %INPUT_STR%==CHROME      set RUN_FLG=1 & START " "  "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir=C:\XXXXXX\XXXXXX

    REM コマンドプロンプトを起動
    IF /I %INPUT_STR%==CMD         set RUN_FLG=1 & START  cmd

    REM =======================================================================_
    REM 個人ファイルフォルダ等
    REM =======================================================================_

    REM 自分用_Excelメモ.xlsm
    IF /I %INPUT_STR%==EXMEMO      set RUN_FLG=1 & START  " "  "C:\XXXXXXX\自分用_Excelメモ.xlsm"

    REM 自分用_メモ.txt
	IF /I %INPUT_STR%==MEMO (
		set RUN_FLG=1 
		START  " "  %Sakura_EXE% -GROUP=1 
		START  " "  %Sakura_EXE% -GROUP=9 "C:\XXXXX\自分用_メモ.txt"
		START  " "  %Sakura_EXE% -GROUP=9 "C:\XXXXX\自分用_今日の作業.txt"
	)



    REM =======================================================================_
    REM 自分で好きなコマンドを設定
    REM =======================================================================_
    rem エクスプローラーで開く
    IF /I %INPUT_STR%==KYOYU    set RUN_FLG=1 & START "*" %MY_Explorer% F:\


    rem サクラエディタの場合グループ分けして出力が可能
    IF /I %INPUT_STR%==MEMO     set RUN_FLG=1 & START "*"  %STRT_EDITER% -GROUP=9 "D:\my_dir\メモ.txt"

    rem ファイルを開く
  IF /I %INPUT_STR%==PRJ      set RUN_FLG=1 & START "*" "D:\テスト.xlsx"

	rem 複数開きたい場合
    IF /I %INPUT_STR%==MULTIRUN (
       set RUN_FLG=1 
		START "*" %Notepad% D:/XXXXXXXErr.log
		START "*" %Notepad% D:/XXXXXXXXXX.log
	)



    REM =======================================================================_
    REM WINユーザーファイル先
    REM =======================================================================_
    IF /I %INPUT_STR%==DISKTOP   set RUN_FLG=1 & START "*"  %MY_Explorer% %USERPROFILE%\Desktop\
    IF /I %INPUT_STR%==DOWNLOAD  set RUN_FLG=1 & START "*"  %MY_Explorer% %USERPROFILE%\Downloads\
    IF /I %INPUT_STR%==PICTUR    set RUN_FLG=1 & START "*"  %MY_Explorer% %USERPROFILE%\Pictures\
    IF /I %INPUT_STR%==DOCUMENT  set RUN_FLG=1 & START "*"  %MY_Explorer% %USERPROFILE%\Documents\


    REM 「送る」フォルダを開く
    IF /I %INPUT_STR%==SENDTO      set RUN_FLG=1 & START " "  "shell:sendto"

     REM 「スタートアップ」フォルダを開く
    IF /I %INPUT_STR%==STARTUP     set RUN_FLG=1 & start "" "shell:common startup"



GOTO :FileEnd
REM ---[SUB_EDIT]--------------------------------------------------------
REM サブルーチン)エディタ編集画面
REM --------------------------------------------------------------------
:SUB_EDIT

    set RUN_FLG=1 

    echo 何を編集しますか?
    echo *****************************************
    echo 0:すべて
    echo 1:初期設定
    echo 2:画面設定
    echo 3:アプリ設定
    echo 4:画面/アプリ設定
    echo *****************************************
    rem 入力待ち
    SET /P INPUT_STR=">"

    rem 画面編集
    IF /I %INPUT_STR%==0 (
       START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_初期設定.bat"
       START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_メイン.bat"
       START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_起動AP設定.bat"
    )

    IF /I %INPUT_STR%==1 (
       START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_初期設定.bat"
    )
    IF /I %INPUT_STR%==2 (
       START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_メイン.bat"
    )
    IF /I %INPUT_STR%==3 (
      START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_起動AP設定.bat"
    )

    IF /I %INPUT_STR%==4 (
       START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_メイン.bat"
       START " "  %STRT_EDITER% -GROUP=3 ".\ランチャ_起動AP設定.bat"
    )

GOTO :FileEnd
REM ---[SUB]------------------------------------------------------------
REM サブルーチン)[Explorer]どちらを使用するか
REM --------------------------------------------------------------------
:SUB_EXPLORER_SET

    set RUN_FLG=1 

    echo どちらで開くますか?
    echo [1:%WinExplore_Name%]
    echo [2:%Sub1Explore_Name%]  
    echo [3:%Sub2Explore_Name%]  

    rem 入力待ち
    SET /P INPUT_STR=">"
    rem 
    IF /I %INPUT_STR%==1  SET MY_Explorer=%WinExplore_exe%
    IF /I %INPUT_STR%==2  SET MY_Explorer=%Sub1Explore_exe% 
    IF /I %INPUT_STR%==3  SET MY_Explorer=%Sub2Explore_exe% 

GOTO :FileEnd

:FileEnd

    REM 該当コマンドがない場合
    IF %RUN_FLG%==0 (
        echo "そのコマンドないよ[%INPUT_STR%]"
        timeout 3

    )

REM ---[FileEnd]--------------------------------------------------------
REM サブルーチン)処理終了
REM バッチ内の処理の終了の飛び先
REM --------------------------------------------------------------------
:FileEnd


## 起動コマンド作成用Excelマクロ
(excelで作成するためのメモ)
※カンマをTABに変換

A B C D E F G H
名前 コマンド パス
[ツール名] [コマンド(大文字英数)] [パス [コマンドライン]] ="rem " & B2, =" IF /I %INPUT_STR%==" & LEFTB(C2&REPT(" ",8),8) & " set RUN_FLG=1 & START "&CHAR(34)&"*"&CHAR(34)&" "&D2, = " echo " & LEFTB(C2&REPT(" ",6),6) & "|" & B2  

B:名前
C:コマンド
D:起動パス
E:コメント
="rem " & B2
F:コマンド文
=" IF /I %INPUT_STR%==" & LEFTB(C2&REPT(" ",8),8) & " set RUN_FLG=1  &  START  "&CHAR(34)&"*"&CHAR(34)&"  "&D2
G:表示画面用
= "    echo   " & LEFTB(C2&REPT(" ",6),6) & "|" & B2


0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?