web-dev-qa-db-ja.com

OpenFileDialogを使用する場合にのみFileNameを返す

次の方法でファイルを参照しています。

    OpenFileDialog.ShowDialog()
    PictureNameTextEdit.Text = OpenFileDialog.FileName

ファイル名のみを取得する方法はありますか?

FileNameメソッドは、パス全体とファイル名を返します。

つまり、C:\ SomeDirectory\Foo.txtではなくFoo.txtが必要です。

22
Gerhard Weiss

Path.GetFileName(fullPath) を使用して、次のようにファイル名の部分のみを取得します。

OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)
45
Jon Skeet
OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)
2

OpenFileDialogでファイル名と完全パスを取得するC++コード:

textBox1->Text = OpenFileDialog1->FileName; //complete path textBox1->Text = System::IO::Path::GetFileName(OpenFileDialog1->FileName); //filename

1
farzaneh

「MyFileName.docx」という名前のWord2010ファイルを選択したとします

これは、選択されたファイル拡張子「ドットマーク、f.e(.docx)を含む」のみに対するものです。

MsgBox(System.IO.Path.GetExtension(Opendlg.FileName))

そして、これは拡張子なしの選択されたファイル名の場合:(MyFileName)

MsgBox(System.IO.Path.GetFileNameWithoutExtension(Opendlg.FileName))

また、GetPATH、GetDirectoryNameなど、「PATHクラス」の他のオプションを試すことができます。

0
MAM
//Following code return file name only 

string[] FileFullPath;
string FileName;
objOpenFileDialog.Title = "Select Center Logo";
objOpenFileDialog.ShowDialog();

FileFullPath = objOpenFileDialog.FileNames[0].ToString().Split('\\');
FileName = FileFullPath[FileFullPath.Length - 1]; //return only File Name

//Use following code if u want save other folder , 
// following code save file to CenterLogo  folder which inside bin folder//

System.IO.File.Copy(OFD.FileName, Application.StartupPath + 
"/CenterLogo/" + FileName, true);
0
virender

拡張子なしで選択した名前だけが必要な場合は、このコードを試すことができます

Imports System.IO


PictureNameTextEdit.Text = Path.GetFileNameWithoutExtension(OpenFileDialog1.Fi‌​leName)

ありがとう

0
Aladein