0

パス="\ProgramFiles \ MobileApp \ es-gl\a.dll"の場合。「\ProgramFiles\ MobileApp\es-gl」だけを取得したい。ファイルa.dllの親ディレクトリを知りたいだけです。C#に組み込みのメソッドはありますか?.netCompactFrameworkを使用しています

4

6 に答える 6

7

System.IO.Path.GetDirectoryName(path)

于 2012-08-08T08:50:44.383 に答える
3

フォルダの親ディレクトリをシームレスに見つけるためにも、このような関数が必要でした。だから私は自分で作成しました:

        public static string ExtractFolderFromPath(string fileName, string pathSeparator, bool includeSeparatorAtEnd)
        {
            int pos = fileName.LastIndexOf(pathSeparator);
            return fileName.Substring(0,(includeSeparatorAtEnd ? pos+1 : pos));
        }

pathSeparatorを送信するだけです(Windowsの場合は "\"、unixライクなパスの場合は "/")。最後にセパレータを含める場合は、最後のパラメータをtrueに設定します。例:C:\ foo \

于 2012-08-08T09:01:39.107 に答える
2

よくわかりませんがFileInfoDirectoryInfoクラスはCompactFrameworkでサポートされていると思います。

これを試して:

FileInfo myFile = new FileInfo("\ProgramFiles\MobileApp\es-gl\a.dll");
string parentDirectory = myFile.Directory.Name;

MSDNのドキュメントによると、これも実行できます。

FileInfo myFile = new FileInfo("\ProgramFiles\MobileApp\es-gl\a.dll");
string parentDirectory = myFile.DirectoryName;

詳細については、次のMSDNリンクを確認してください。

http://msdn.microsoft.com/en-us/library/system.io.fileinfo_members(v=vs.71)

http://msdn.microsoft.com/en-us/library/system.io.fileinfo.directory(v=vs.71)

于 2012-08-08T08:57:13.317 に答える
2

FileInfo(System.IO名前空間)に親ディレクトリがあります。サンプルコード:

var file = new FileInfo(@"\ProgramFiles\MobileApp\es-gl\a.dll");
var parent = file.Directory.Parent;
于 2012-08-08T09:00:30.300 に答える
0

文字列クラスのメソッドを使用するだけです。

        string path = @"\ProgramFiles\MobileApp\es-gl\a.dll";
        string newPath = path.Substring(0, path.LastIndexOf('\\'));
于 2012-08-08T08:55:10.607 に答える
0
var directory = Path.GetDirectoryName(@"c:\some\path\to\a\file.txt");
// returns "c:\some\path\to\a"

MSDN

于 2012-08-08T08:50:53.167 に答える