eamat @Cabinet
Path.txt
最終更新:
eamat
-
view
=============================================================================
【 名 称 】 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="") 有効パスを抽出して返す
【 名 称 】 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="") 有効パスを抽出して返す