2012-04-27 11 views
0

パスの2番目のフォルダが何であるかを調べるスクリプトを作成していますが、どうすればいいですか?その他のパスなど

DIRA
DIRB/C ----私はDIRB
indirB必要 - DIRD/E
indirE - 私はそのパスに第2レベルのフォルダの名前を見つける必要があるファイル

をファイル(私は星でそれをマークした)。

は、どのように私はどのようにこの拡張機能については、この

+0

私のファイルコピー/ソーター用です。 – shred1894

+3

私はちょうどあなたが入力したか分かりません。 – yamen

+2

質問はもっと複雑です。あなたの質問に私はパス 'c:\ a \ b \ c'をどうやって得るのですか? – Reniuz

答えて

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:です。

+0

私はそれを試します。 – shred1894

+0

'level.Length'が' 2'の場合、このコードは境界外の例外を発生させます。 – SuperOli

+0

私はC#を3日間しか使用していませんでした。 – shred1894

関連する問題