※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Session.ahk


# 複数のファイルパスをセッションとして保存・同時に開く
# 対象ファイルはエディタで開けるもの
# ファイルが別ドライブ・フォルダにあっても保存場所を意識せずに前回の続き
 から編集を始められるのが利点

[2007-01-05]版

Session.ahk

#NoTrayIcon

app = D:\Application
;セッションを開くエディタ
editor = %app%\Text_Editor\sakura\sakura.exe
;editor = %app%\Text_Editor\Hidemaru\Hidemaru.exe
;editor = %app%\Text_Editor\gp\GreenPad.exe
;各 runx3.txt を保存するフォルダ(セッション名)の親フォルダ
pDir = %app%\tools\runx3
;runx3.exe のパス
runx3 = %pDir%\runx3.exe
;nircmd.exe のパス
nircmd = D:\bin\nircmd.exe

  ;Loop, FilePattern [, IncludeFolders?, Recurse?] 
  Loop, %pDir%\*, 2, 0
  {
      Menu, Sub1, Add, &%A_LoopFileName%, Open
      Menu, Sub, Add, (&S)セッションを開く, :Sub1
      Menu, Sub4, Add, &%A_LoopFileName%, ColseAndOpen
      Menu, Sub, Add, (&N)新しいセッション, :Sub4
      Menu, File, Add, &%A_LoopFileName%, Edit
      Menu, Sub, Add, (&E)runx3.txtを編集, :File
      Menu, runx3Dir, Add, (&O)開く, :Sub

      Menu, Sub2, Add, &MakeDir, MakeDir
      Menu, Sub2, Add, &%A_LoopFileName%, ThisDir
      Menu, runx3Dir, Add, (&A)セッションに追加, :Sub2

      Menu, Sub3, Add, &MakeDir, MakeDir
      Menu, Sub3, Add, &%A_LoopFileName%, Append&CloseAll
      Menu, runx3Dir, Add, (&C)セッションに追加して終了, :Sub3
  }
  Menu, runx3Dir, Add
  Menu, runx3Dir, Add, (&X)全部終了, CloseAll
  Menu, runx3Dir, Show
  Return

SplitPath,editor,file,dir,ext,name,drive
Edit:
  StringTrimLeft, sFile, A_ThisMenuItem, 1
  Run, %editor% %pDir%\%sFile%\runx3.txt
  Return
Open:
  StringTrimLeft, sDir, A_ThisMenuItem, 1
  ;Run, Target [, WorkingDir, Max|Min|Hide|UseErrorLevel, OutputVarPID]
  ;指定してた作業フォルダ内にあるrun3.txtが使用される
  Run, %runx3%, %pDir%\%sDir%
  Return
ThisDir:
  ;MenuHacker、ファイラーなどからパスを取得する
  ;runx3.txt が無ければ作成される
  StringTrimLeft, sDir, A_ThisMenuItem, 1
  FileAppend, %editor% %1%`r`n, %pDir%\%sDir%\runx3.txt
  return
MakeDir:
  ;新規セッション(フォルダと runx3.txt)を作成
  InputBox, NewDir, 新フォルダ名, , , 130, 100
  If ErrorLevel <> 0
      Return
  FileCreateDir, %pDir%\%NewDir%
  Sleep, 500
  FileAppend, %editor% %1%`r`n, %pDir%\%NewDir%\runx3.txt
  Return
Append&CloseAll:
  ;MenuHacker、ファイラーなどからパスを取得する
  ;runx3.txt が無ければ作成される
  StringTrimLeft, sDir, A_ThisMenuItem, 1
  FileAppend, %editor% %1%`r`n, %pDir%\%sDir%\runx3.txt
  Sleep, 300
  Gosub,CloseAll
  Return
ColseAndOpen:
  Gosub,CloseAll
  WinWaitClose, ahk_pid %file%
  Gosub, Open
  Return
CloseAll:
  ;プロセスを終了
  Run,%nircmd% killprocess %editor%
  Return

ExitApp


-