Back to Top

プログラムの覚書

VB.NET 一時ファイルを取得する

一意な名前を持つ0バイトのファイル(一時的な作業ファイル)の作成する方法を記載します。

一時ディレクトリまでのパスを取得する

Dim sTempPath As String = System.IO.Path.GetTempPath()

 

一時ファイルの完全パスを取得する

Dim stTempFile As String = System.IO.Path.GetTempFileName()

※一時ファイルを取得した時に、既に一時ファイルが作成されてしまいますので、一時ファイルは自分で削除するしかありません。

一時ファイルの場所を設定する

・TMP 環境変数によってパスを指定
・TEMP 環境変数によってパスを指定
・ユーザー プロファイル環境変数によってパスを指定

 

Posted in パス | Leave a reply

VB.NET パスの分解・結合をする

ファイルパスの分解や結合をする方法を記載します。

ファイルパスを結合する

ファイルパスの連結をする

Dim sFilePath1 As String = System.IO.Path.Combine("C:\work\", "myfile.txt")
Dim sFilePath2 As String = System.IO.Path.Combine("C:", "work", "myfile.txt")
Dim sFilePath3 As String = System.IO.Path.Combine("C:\", "work", "myfile.txt")

'2と3は結果が異なる		

 

ファイルパスを分解する

ファイルパスからファイル名を取得する

Dim sFileName1 As String = System.IO.Path.GetFileName("C:\work\myfile.txt")
Dim sFileName2 As String = System.IO.Path.GetFileName("C:\work\myfile")
Dim sFileName3 As String = System.IO.Path.GetFileName("C:\work\myfile\")

'2はmyfileをファイルとみなすが3はディレクトリとみなす		

 

拡張子を含まないファイル名を取得する

Dim sBaseFileName1 As String = System.IO.Path.GetFileNameWithoutExtension("C:\work\myfile.txt")
Dim sBaseFileName2 As String = System.IO.Path.GetFileNameWithoutExtension("C:\work\myfile")

 

拡張子を取得する

Dim sExtension1 As String = System.IO.Path.GetExtension("C:\work\myfile.txt")
Dim sExtension2 As String = System.IO.Path.GetExtension("C:\work\myfile")

 

ルートドライブ名を取得する

Dim sRootDrive As String = System.IO.Path.GetPathRoot("C:\work\myfile.txt")

 

ファイル名を除いたディレクトリ名を取得する

Dim sDirectoryName1 As String = System.IO.Path.GetDirectoryName("C:\work\myfile.txt")
Dim sDirectoryName2 As String = System.IO.Path.GetDirectoryName("C:\work\myfile")

 

拡張子を削除したファイルパスを取得する

Dim sBaseFilePath1 As String = System.IO.Path.ChangeExtension("C:\work\myfile.txt", Nothing)
Dim sBaseFilePath2 As String = System.IO.Path.ChangeExtension("C:\work\myfile", Nothing)

 

格納されているディレクトリのみの名前を取得する

Dim FilePath As String = "C:\work\aaa\bbb\ccc\test.txt"

Dim info As New System.IO.FileInfo(FilePath)
Dim str1 As String = info.Directory.Name
Dim str2 As String = info.Directory.Parent.Name

※ C:\work\myfileの場合myfileはファイル名とみなしますが、 C:\work\myfile\はフォルダとみなします。

 

Posted in パス | Leave a reply