パスの 2 番目のフォルダーを見つけるスクリプトを作成していますが、どうすればよいですか?
dirA
dirB/C ---- I need dirB
indirB - dirD/E
indirE - ファイル
ファイルへのパスである第 2 レベルのフォルダーの名前を見つける必要があります (星印を付けました)。
これを見つけるにはどうすればよいでしょうか
この拡張機能はどうですか:
public static class StringExtensions
{
public static String PathLevel(this String path, int level)
{
if (path == null) throw new ArgumentException("Path must not be null", "path");
if (level < 0) throw new ArgumentException("Level must be >= 0", "level");
var levels = path.Split(Path.DirectorySeparatorChar);
return levels.Length > level ? levels[level] : null;
}
}
テスト:
var path = @"C:\Temp\Level2\Level3\Level4\File.txt";
var secondLevel = path.PathLevel(2); // => "Level2"
パスを で分割しDirectorySeparatorChar
ますString[]
。2 番目のレベル (3 番目の要素) が必要でした。これは "Level2" を返します。最初の要素は であることに注意してくださいC:
。