パスの2番目のフォルダが何であるかを調べるスクリプトを作成していますが、どうすればいいですか?その他のパスなど
DIRA
DIRB/C ----私はDIRB
indirB必要 - DIRD/E
indirE - 私はそのパスに第2レベルのフォルダの名前を見つける必要があるファイル
をファイル(私は星でそれをマークした)。
は、どのように私はどのようにこの拡張機能については、この
パスの2番目のフォルダが何であるかを調べるスクリプトを作成していますが、どうすればいいですか?その他のパスなど
DIRA
DIRB/C ----私は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"
それはString[]
にDirectorySeparatorChar
によってパスが分割されます。 2番目のレベル(3番目の要素)が必要でした。これは "Level2"を返します。最初の要素はC:
です。
私のファイルコピー/ソーター用です。 – shred1894
私はちょうどあなたが入力したか分かりません。 – yamen
質問はもっと複雑です。あなたの質問に私はパス 'c:\ a \ b \ c'をどうやって得るのですか? – Reniuz