LoginSignup
15
15

More than 5 years have passed since last update.

バッチファイルで簡易コマンドラインランチャーを作る

Last updated at Posted at 2016-06-15

素人の備忘録。

動機

コマンドラインランチャーがほしい。
職場のPCでソフト入れられない。
自分で作るスキルはない。

ということで適当に簡素なものを作ったところ、自分には十分なものが出来てしまい、私物のPCでもこれを使うようになってしまった…

解決策

ランチャー本体

バッチファイルで簡素に作った。

A-Launcher.bat
@echo off
title A-Launcher
cd D:\A-Launcher
set lnkname=
:start
set /p lnkname=""
if /i "%lnkname%" == "q" (
    exit
) else if not "%lnkname:.lnk=%" == "%lnkname%" (
    if exist %lnkname% (
        start %lnkname%
    ) else (
        goto start
    )
) else (
    if exist %lnkname%.lnk (
        start %lnkname%.lnk
    ) else (
        goto start
    )
)

titlecd先のフォルダは適当に。
この例ではD:\A-Launcher以下にショートカット(.lnkファイル)を詰め込む。
入力したショートカット名が存在すれば起動し、ない場合は入力に戻る。
qを入力すると閉じる。

適当に作った割にTabキーで補完も効くので意外と便利。
入力に.lnkが入っているかどうかで処理を分けているので、例えばgvim.lnkを起動したいときに、gvimと手入力しても、補完でgvim.lnkを選んでもどちらでも起動する。

バッチファイルをそのまま実行すると普段のコマンドプロンプトが開いてしまう。
バッチファイルのショートカットから起動するようにすると、ウインドウサイズをランチャ専用に記憶してくれるので便利。
文字サイズ72、幅20、高さ1などとして画面右上に置くとそれっぽいかもしれない。

A-Launcher.png

起動の仕方

Windows純正の機能でやる場合はバッチファイルのショートカットにプロパティからショートカットキーを設定する。
AutoHotkeyなどでショートカットキーを設定してもよい。

以下は左右Shift同時押しでランチャーを起動する例。
一応多重起動はしないようにした。

追記[2016/06/16]
ウィンドウタイトルの指定だけではA-Launcherフォルダなどを開いているとランチャーを起動できなくなってしまうので、exeの指定も入れた。

追記[2016/07/07]
Shiftキー二連打でも起動したかったので修正。

AutoHotkey_example
;; 左右のShift同時押しでランチャ起動
LShift & RShift::
    IfWinExist, A-Launcher ahk_exe cmd.exe
    {
        WinActivate, A-Launcher ahk_exe cmd.exe
    }
    Else
    {
        Run, "D:\A-Launcher\A-Launcher.lnk"
    }   
Return

;; Shift二連打でランチャ起動
$Shift::
    KeyWait, Shift, T0.3
    If (A_PriorHotkey == A_ThisHotkey) && (300 > A_TimeSincePriorHotkey)
    {
        IfWinExist, A-Launcher ahk_exe cmd.exe
        {
            WinActivate, A-Launcher ahk_exe cmd.exe
        }
        Else
        {
            Run, "D:\A-Launcher\A-Launcher.lnk"
        }
    }
    return

蛇足

なんでA-Launcherなどという名前にしたかというと、特攻野郎Aチームの工作シーンのノリで作ったからです。
飛行機だけは勘弁な!

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