次の方法でファイルを参照しています。
OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = OpenFileDialog.FileName
ファイル名のみを取得する方法はありますか?
FileNameメソッドは、パス全体とファイル名を返します。
つまり、C:\ SomeDirectory\Foo.txtではなくFoo.txtが必要です。
Path.GetFileName(fullPath)
を使用して、次のようにファイル名の部分のみを取得します。
OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)
OpenFileDialog.ShowDialog()
PictureNameTextEdit.Text = System.IO.Path.GetFileName(OpenFileDialog.FileName)
OpenFileDialogでファイル名と完全パスを取得するC++コード:
textBox1->Text = OpenFileDialog1->FileName; //complete path textBox1->Text = System::IO::Path::GetFileName(OpenFileDialog1->FileName); //filename
「MyFileName.docx」という名前のWord2010ファイルを選択したとします
これは、選択されたファイル拡張子「ドットマーク、f.e(.docx)を含む」のみに対するものです。
MsgBox(System.IO.Path.GetExtension(Opendlg.FileName))
そして、これは拡張子なしの選択されたファイル名の場合:(MyFileName)
MsgBox(System.IO.Path.GetFileNameWithoutExtension(Opendlg.FileName))
また、GetPATH、GetDirectoryNameなど、「PATHクラス」の他のオプションを試すことができます。
//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);
拡張子なしで選択した名前だけが必要な場合は、このコードを試すことができます
Imports System.IO
PictureNameTextEdit.Text = Path.GetFileNameWithoutExtension(OpenFileDialog1.FileName)
ありがとう