パス="\ProgramFiles \ MobileApp \ es-gl\a.dll"の場合。「\ProgramFiles\ MobileApp\es-gl」だけを取得したい。ファイルa.dllの親ディレクトリを知りたいだけです。C#に組み込みのメソッドはありますか?.netCompactFrameworkを使用しています
7331 次
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
よくわかりませんがFileInfo
、DirectoryInfo
クラスは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"
于 2012-08-08T08:50:53.167 に答える