0

"c:/myapp/mainfolder/" 私のパスがメインフォルダに含まれている3つのフォルダがあると仮定します。ところで、メインフォルダの下にある個別のファイルを識別する必要はありません。

c:/myapp/mainfolder/subfolder1/
c:/myapp/mainfolder/subfolder2/
c:/myapp/mainfolder/subfolder3/

どうすれば入力c:/myapp/mainfoder/ して出力を取得できますか?string[] subArrFolders = {subfolder1, subfolder2, subfolder3}

C#2.0を使用しています。

ありがとうございました。

4

2 に答える 2

2

Directory.GetDireatories()を使用して、既知のパスのサブディレクトリを取得できます。次のように使用できます。

string MyPath = "c:\\myapp\\mainfolder\\";
string[] subArrFolders = IO.Directory.GetDiretories(MyPath);
于 2010-08-09T01:50:02.330 に答える
1

より良い情報が不足しているため、この回答は、フルパス名ではなくサブフォルダー名を要求したことを前提としています。

これにより、リーフフォルダ名を抽出できます。

using System;
using System.Text;
using System.IO;

namespace StackOverflow_NET
{
    class Program
    {
        static void Main(string[] args)
        {
            String path = @"C:\myapp\mainfolder";
            DirectoryInfo info = new DirectoryInfo(path);
            DirectoryInfo [] sub_directories = info.GetDirectories("*",SearchOption.AllDirectories);

            foreach (DirectoryInfo dir in sub_directories)
            {
                Console.WriteLine(dir.Name);
            }
        }
    }
}

出力:

subfolder1
subfolder2
subfolder3

ここでの主な違いは、DirectoryInfoクラスを使用すると、Nameプロパティを介してリーフディレクトリ名を取得できることです。

于 2010-08-09T02:27:04.190 に答える