|
「素の秀丸マクロ」でやるなら、概ね以下の2系統に分類されていくかと思います。
//--------------------------- 通常の方法
$FileFullPath = @"C:\abc\efg\def.txt";
#objFSO = createobject("Scripting.FileSystemObject");
$FileName = member( #objFSO, "GetFileName", $FileFullPath );
message("ファイル名:" + $FileName);
$DirectoryName = member( #objFSO, "GetParentFolderName", $FileFullPath );
if ($DirectoryName == "" || $DirectoryName == "0" ) {
message("ディレクトリ名:" + "なし");
} else {
message("ディレクトリ名:" + $DirectoryName);
}
//--------------------------- 手製でやる方法
$FileFullPath = @"C:\abc\ggg\def.txt";
#nSplitArrayLength = split($SplitArray, $FileFullPath, @"\");
if (#nSplitArrayLength > 0) {
#nLastIndex = #nSplitArrayLength - 1; // 長さから1引いたものが最後の要素のindex
$FileName = $SplitArray[#nLastIndex];
message("ファイル名:" + $FileName);
// 最後の要素を消して...
$SplitArray[#nLastIndex] = ""; // 厳密にはこの行は不要だけど気持ち悪いので
#nSplitArrayLength = #nSplitArrayLength - 1; // 要素が1つ減った
// まだ要素が残っている
if (#nSplitArrayLength > 0) {
$DirectoryName = join($SplitArray,#nSplitArrayLength, @"\" );
message("ディレクトリ名:" + $DirectoryName);
} else {
message("ディレクトリ名:" + "なし");
}
}
|
|