JURIA @Wiki
@あれこれ-2009年5月
最終更新:
juria
-
view
@あれこれ-2009年5月
[2009-05-22]
逸れたついでに Clock Launcher &bookmark_hatena(show=none)
USB メモリ用ランチャーもキーボードで操作できなきゃ、ってわけで
Clock Launcher
ホットキーで呼び出し、メニューにアクセスキーが使える(#1)。
#1 ランチャメニューアイテムそれぞれにもホットキーを設定できるけど、
覚えられない思い出せないのが明白なので未設定。
ホットキーで呼び出し、メニューにアクセスキーが使える(#1)。
#1 ランチャメニューアイテムそれぞれにもホットキーを設定できるけど、
覚えられない思い出せないのが明白なので未設定。
Clock Launcher
のランチャアイテムリスト設定保存ファイル中のアイテムのパスを
一気に相対パスに書き換える AHK。Unicode 対応 AutoHotkey_L 推奨。
アイテムを相対パスで登録可能で、絶対パス→相対パス変換ボタンが付いているのに、
ついうっかり(?)変換し忘れたアイテムがいっぱいある人(私)向け。
一気に相対パスに書き換える AHK。Unicode 対応 AutoHotkey_L 推奨。
アイテムを相対パスで登録可能で、絶対パス→相対パス変換ボタンが付いているのに、
ついうっかり(?)変換し忘れたアイテムがいっぱいある人(私)向け。
- 相対パスの取得と2つのパス名の先頭から共通するディレクトリ名を取得する関数は AutoHotkey スレッド part6 からの戴きもの。
- ドライブをまたぐ(別ドライブにある)場合は相対パスにはできないので変換しない。
- ファイルの中の文字列一括置換には「 文字列置換 」を使用。対応は Shift-jis のみだけど、コマンドラインから簡単に使えて便利なのでパスが通ったところに置くべし。
- 絶対パスらしきもののみ見るので、設定ファイル中に相対パスが混在していてもおっけ。
- 念のために、元の設定ファイルはリネームして保存。
PathRelativePathToA.ahk
basedir := "D:\Application\tools\claunch_" ;基準ディレクトリ
inifile = %basedir%\itemlist.ini ;アイテムリスト設定ファイル
;設定ファイルをバックアップ(日付を付けてリネーム)
FormatTime, date, , yyyyMMdd
FileCopy, %inifile%, %basedir%\%date%_itemlist.ini, 1 ;同名上書き
;設定ファイル書き換え
Loop, Read, %inifile%
{
IfInString, A_LoopReadLine, :\
{
StringTrimLeft, Apath, A_LoopReadLine, 8 ;パスを抜き出す
From := basedir
To := Apath
;属性取得
FileGetAttrib, AttribF, %From%
IfInString, AttribF, D ;ディレクトリだったら
atrFrom := "0x10"
IfInString, AttribF, A ;ファイルだったら
atrFrom := "0x20"
FileGetAttrib, AttribT, %To%
IfInString, AttribT, D
atrTo := "0x10"
IfInString, AttribT, A
atrTo := "0x20"
;ベース・ターゲットパスの先頭から共通するディレクトリ名を取得
p1 := From
p2 := To
root := Path_CommonPrefix(p1, p2)
if (root := !root) ;別のドライブだったら絶対パス
rPath := To
else
;相対パスを取得
rPath := Path_RelativePathTo(From,atrFrom,To,atrTo)
;設定ファイルの中の絶対パスを一括置換
Run, %comspec% /c chikan.exe "%inifile%" "%To%" "%rPath%",
,Hide
Sleep, 200
}
}
MsgBox, 相対パス変換 完了!
Return
;----AutoHotkey スレッド part6 539 からの頂きもの----
;相対パスの取得関数
Path_RelativePathTo(From,atrFrom,To,atrTo)
; 相対パスを作成
; From : ベースパス
; To : 相対にするパス
; atr : ファイル属性を指定
; ディレクトリ 0x10 (FILE_ATTRIBUTE_DIRECTORY)
; ファイル 0x20 (FILE_ATTRIBUTE_ARCHIVE)
{
VarSetCapacity(t,260,0)
DllCall("SHLWAPI.DLL\PathRelativePathToA", Str,t , str,From,
Uint,atrFrom, str,To, Uint,atrTo)
return t
}
;共通ディレクトリ名取得関数
Path_CommonPrefix(p1, p2)
; 2つのパス名の先頭から共通するディレクトリ名を取得する
{
VarSetCapacity(t,260,0)
DllCall("SHLWAPI.DLL\PathCommonPrefixA", Str,p1, Str,p2, str,t)
Return t
}
ExitApp
[2009-05-17]
話は逸れて USB メモリ用ランチャー &bookmark_hatena(show=none)
Appetizer から PortableApps アプリを起動
初回起動時または「ショーカットのインポート」ボタンから
PortableApps
のアプリの
取り込みが可能だが、 Appetizer や PortableApps がローカル HDD にある場合は
グレーアウト。(両方ともがリムーバブル ディスク内に無いとダメ。)
オートランファイルのインストールも不可。当然ですな。
取り込みが可能だが、 Appetizer や PortableApps がローカル HDD にある場合は
グレーアウト。(両方ともがリムーバブル ディスク内に無いとダメ。)
オートランファイルのインストールも不可。当然ですな。
1、USB に
PortableApps
をインストール
[参照]ボタンで USB ドライブ(リムーバブル ディスク)ルートを指定する(例 I:\)
既に Autorun.inf が存在するとスキップされる(インストール時に作成されない)。
[参照]ボタンで USB ドライブ(リムーバブル ディスク)ルートを指定する(例 I:\)
既に Autorun.inf が存在するとスキップされる(インストール時に作成されない)。
\PortableApps\PortableApps.com\Data \PortableApps\Notepad++Portable \PortableApps\Notepad++euc-jp
3、
Appetizer
を USB ドライブに展開
4、[ショートカットのインポート] ボタンから PortableApps を取り込み
5、Autorun.inf を作成(既存のものは上書きされる)
"Move to group" menu item プラグインを有効にし、
グループ等を設定(新規グループ作成→アイコン右クリックメニューから移動)
ホットキーを設定
4、[ショートカットのインポート] ボタンから PortableApps を取り込み
5、Autorun.inf を作成(既存のものは上書きされる)
"Move to group" menu item プラグインを有効にし、
グループ等を設定(新規グループ作成→アイコン右クリックメニューから移動)
ホットキーを設定
PortableApps のデータフォルダを 「あふw」 で開くようにする
ユーザが作成した任意のフォルダでも。
Unicode を扱わないのであれば通常版「あふ」でいいのだけど、せっかく三種の神器が
出揃ったので。( Yet Another あふこまんどw 、 AFXW.KEY 暫定対応 K3KEYAFX 、
「あふw」対応「あふすくりぷた」 )
出揃ったので。( Yet Another あふこまんどw 、 AFXW.KEY 暫定対応 K3KEYAFX 、
「あふw」対応「あふすくりぷた」 )
1、
「あふw」
を USB に展開、yaafxwcmd.exe を「あふw」フォルダにコピー
2、フォルダアイコンのコンテキストメニューから[プロパティ]ダイアログ
yaafxwcmd.exe のパスと「あふw」に渡すパラメータを指定
2、フォルダアイコンのコンテキストメニューから[プロパティ]ダイアログ
yaafxwcmd.exe のパスと「あふw」に渡すパラメータを指定
名前: Documents (#1) 場所: $(Drive)\afxw\yaafxwcmd.exe パラメータ: -s -p "\Documents" (#2) アイコン: PortableApps\PortableApps.com\App\DefaultData\FolderIcons\ documents.ico
#1:グループアイコンのコンテキストメニューのみ頭文字アクセスキーが有効
#2:パラメータにパスを指定する時は、ドライブルートからの相対パスでいいみたい。
ちなみに、「あふw」のショートカットを登録する時に、パラメータで
ちなみに、「あふw」のショートカットを登録する時に、パラメータで
-s -L"\afxw" -R"\afxw"
みたいに起動時のディレクトリを指定しておけば別の PC に USB メモリを挿して
ドライブレターが変わり、「装着の準備ができていません」て怒られなくてすむ。
ドライブレターが変わり、「装着の準備ができていません」て怒られなくてすむ。
-

