なーたのおぼえがき

なーたのおぼえがき

つくったものとか

ポータブル記憶装置を便利に使おう①

ちょっと前にポータブルHDD1Tを購入したので、便利に扱おう!ということで手順とかその辺まとめていきます。

最終目標

どこに行ってもこれ一台で何でもできたら素敵!というめっちゃしょうもない動機でやり始めてます。
・コマンドで全部起動してほしいよね!
  →実質「ファイル名を指定して実行」を完全独立環境に作りたい!
・おみゃあ(学校)のPCくそなんだぁ
  →記憶領域でかばーしてやんよ!今更苦Cの学習環境とかつかいたくねえ!
・便利なの全部突っ込もうぜ
  →れりごー!
というモチベーションです。

まず初めに

今回購入したHDDはこれです。
理由?なんかUSBメモリ買おうと思ったら目についたし、ちょっと安かったから。

それではやっていきましょー

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補完も効くから使い勝手はとてもいいです。でも、バッチファイルもショートカットじゃないと動いてくれないからそこは注意!