ポータブル記憶装置を便利に使おう①
ちょっと前にポータブルHDD1Tを購入したので、便利に扱おう!ということで手順とかその辺まとめていきます。
最終目標
どこに行ってもこれ一台で何でもできたら素敵!というめっちゃしょうもない動機でやり始めてます。
・コマンドで全部起動してほしいよね!
→実質「ファイル名を指定して実行」を完全独立環境に作りたい!
・おみゃあ(学校)のPCくそなんだぁ
→記憶領域でかばーしてやんよ!今更苦Cの学習環境とかつかいたくねえ!
・便利なの全部突っ込もうぜ
→れりごー!
というモチベーションです。
AutoHotKeyを導入する
まず便利にしようとするならこれ。これを前提としていろいろ作っていきます。
参考
second2none.hatenablog.com
手順はこのままです。めっちゃ感謝。ほんとありがとう。
自環境への入れ方とかはざっと手順をいうと
AutoHotKeyのサイトでダウンロードをクリック→「Download AutoHotkey .zip」→解凍
でとりあえずAutoHotKey.exeは手に入る。
そして.ahkだけど、そっちは自分で組むマクロ?みたいなやつのこと。
AutoHotKeyでショートカットキーを割り当てるときのキーと処理を書きます。
参考
qiita.com
こっちも手順このまま。本当に感謝。圧倒的感謝。
私はShift二回だけで起動したかったからこう。
;; 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, "..¥A-Launcher.bat" } } return
ランチャーを書く
肝心のランチャーの部分だけど、私はこれいろんなPCで使いたいと思っていまして。
HDDって刺したPCによってやっぱりドライブ名変わっちゃうんだよね。だから相対パスに置き換えてみた。
@echo off title Launcher cd .\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 ) )
で、こんな感じ。3行目のcdで絶対パスじゃなくて相対パスに指定を変えたらお望みどおり。
これでLauncherっていうフォルダを作って中に使いたい奴の「ショートカット(.lnk)」を入れたら動くよって感じ。
Tab補完も効くから使い勝手はとてもいいです。でも、バッチファイルもショートカットじゃないと動いてくれないからそこは注意!