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

=============================================================================
【 名  称 】 Autohotkey ファイルパス関数群 (コピペ/組込用)(Path/Path2.ahk)
【製作言語】 AutoHotkey Scripts (http://www.autohotkey.com/)
【 更新日 】 2012.11.11
【 製作者 】 eamat.
【  URL   】 http://www6.atwiki.jp/eamat/
=============================================================================
.■概要
   Autohotkey 関数ライブラリ用スクリプト集

.■動作環境
    Late1048\  本家  v1.0.34~1.0.48くらい
    AHKL_xxx\  AHK_L v1.1.01以降
    OS: NT系 IE 4以上

.■ファイル構成
   Path.ahk     : ファイルパス関数群  SHLWAPI.DLL APIまとめ
   Path2.ahk    : ファイルパス関数群2 実在のパスを探す系

.■使用方法
  Late1048\  :ANSI版   (本家用)
  AHKL_A32\  :ANSI版   (A32)
  AHKL_UTF\  :UTF-8版  (U32/U64)
  ※ A32とUTFはファイル形式違うだけ。中身はどちらも一緒です。

..◆組込元で #Include Path/Path2.ahkして各関数を呼び出して使用

..◆関数ライブラリスクリプトとして使用
     AutoHotkey.exeのあるフォルダ内の「Lib」フォルダ、もしくは
    「%A_MyDocuments%\AutoHotkey\Lib\」に入れておけば#Includeなしで使えます。

   ・必要関数だけをスクリプトにコピペして使用
     (各関数間に依存関係はありません。)

.■削除方法
    全てのファイルを削除して下さい。
    本スクリプトではレジストリへの読み書きはしていません。

.■改変・再配布
    改変・再配布ともにご自由にどうぞ

    一次配布場所
    http://www6.atwiki.jp/eamat/

.■履歴
   各スクリプトファイル内に記載

.■関数一覧
  各関数の使用サンプル
    AutoExecute部に動作確認用スクリプトを入れてあるので、
    単体起動して挙動確認して下さい。

..◆ Path.ahk     : IE4以上必須
    ・判定系 (存在チェック)
    Path_FileExists(path)           ファイルの有無をチェックする
    Path_IsDirectory(path)          ディレクトリが存在するかチェックする
    Path_IsUNCServerShare(path)     存在しているUNC(ネットワーク)パスか

   ・文字列の記述ルール チェック
    Path_IsFileSpec(path)           文字列がファイル名のみ仕様か
    Path_IsPrefix(prefix,path)      指定されたパスの先頭がPrefixで始まってるか
    Path_IsRelative(path)           文字列が相対パスか絶対パスか
    Path_IsRoot(path)               文字列がルートかどうか
    Path_IsSameRoot(path1,path2)    2つのパス文字列が同一のルート要素を持つか
    Path_IsURL(url)                 文字列がURLとして解釈できるか
    Path_IsUNC(path)                文字列が UNC(ネットワークパス)か
    Path_IsUNCServer(path)          文字列が サーバーパスのみのUNCか
    Path_MatchSpec(filename, spec)  指定のファイル名がワイルドカードか
    Path_GetCharType(c)             文字cをパスとしてどのように使用できるか

   ・変換系
    Path_GetLongPathName(filePath)  ロングファイルネームを返す
    Path_GetShortPathName(filePath) 8.3形式のファイルネームを返す
    Path_SearchAndQualify(file)     フルパスを生成する
    Path_AddBackslash(path)         パス名の最後尾にバックスラッシュをつける
    Path_RemoveBackslash(path)      パス名の最後尾のバックスラッシュを削除
    Path_RemoveBlanks(path)         文字列から最初と最後のスペースを削除
    Path_QuoteSpaces(path)          パス名がスペースを含む時に""でくくる
    Path_UnquoteSpaces(path)        ""で囲まれたパス名からマークを取り除く
    Path_RenameExtension(path,ext)  拡張子だけを変更したパス名を取得す

   ・抽出系
    Path_StripToRoot(path)          パス名からルート情報を取得
    Path_GetDriveNumber(path)       パス名からドライブ番号を取得
    Path_FindFileName(path)         フルパス名からファイル名のみを取り出す
    Path_StripPath(path)            指定されたファイル名からパス部分を削除
    Path_RemoveFileSpec(path)       フルパス名からディレクトリを取出す
    Path_SkipRoot(path)             パスから共有名部分を除く
    Path_FindExtension(path)        パス名から拡張子だけを取り出す
    Path_RemoveExtension(path)      パス名から拡張子のみを除いたパス名を取得
    Path_GetArgs(path)              コマンドライン引数を抽出
    Path_RemoveArgs(path)           引数部分を削除
    Path_CompactPathEx(Path,Max)    ファイルパス文字列を指定した長さに縮める
    Path_CommonPrefix(p1, p2)       先頭から共通するディレクトリ名を取得する

   ・相対パス関連
    Path_RelativePathTo(From,atrFrom,To,atrTo)  相対パスを作成
    Path_Combine(path,more)                     ファイルパス文字列を結合
    Path_Canonicalize(path)                     ..\ を展開(絶対パスへ)

   ・AHKコマンド互換関数
    Path_SplitPath(path                       SplitPath互換 ダメ文字対応版
                  , byref OutFileName=""
                  , byref OutDir=""
                  , byref OutExtension=""
                  , byref OutNameNoExt=""
                  , byref OutDrive="")

..◆ Path2.ahk    : ファイルパス関数群2 実在のパスを探す系
    Path2_GetTempFileName(TargetDir=""           テンポラリを作成し名前を返す
                         ,PrefixString="ahk")
    Path2_GetExecutablePath(pid=0,WinTitle="A")       実行ファイルパスを得る
    Path2_GetCommandLine(pid=0,WinTitle="A")          コマンドラインを取得
    Path2_DropFiles(hwnd="",fnames="", WinTitle="A")  ファイルドロップ関数
    Path2_ExtractPath(Target="")                      有効パスを抽出して返す