Back to Top

プログラムの覚書

VB.NET ファイルをコピーする

ファイルをコピーする方法を記載します。

File.Copy メソッドを使用する方法

Dim sFilePath As String = "C:\work\myfile.txt"

'ファイルをコピーする
System.IO.File.Copy(sFilePath, "C:\work\myfile.bak")

'既に同じ名前のファイルが存在していても上書きコピーする
System.IO.File.Copy(sFilePath, "C:\work\myfile.bak", True)

 

FileSystem.CopyFile メソッドを使用する方法

Dim sFilePath As String = "C:\work\myfile.txt"

'ファイルをコピーする
 My.Computer.FileSystem.CopyFile(sFilePath, "C:\work\myfile.bak")

'既に同じ名前のファイルが存在していても上書きコピーする
 My.Computer.FileSystem.CopyFile(sFilePath, "C:\work\myfile.bak", True)

 

FileInfo クラスを使用する方法

Dim sFilePath As String = "C:\work\myfile.txt"

Dim finfo As New System.IO.FileInfo(sFilePath)

'ファイルをコピーする
finfo.CopyTo("C:\work\myfile.bak")

'既に同じ名前のファイルが存在していても上書きコピーする
finfo.CopyTo("C:\work\myfile.bak", True)

 

VB.NET ファイルを移動する

ファイルを移動する方法を記載します。

File.Move メソッドを使用する方法

Dim sFilePath As String = "C:\work\myfile.txt"

'ファイルを移動する
System.IO.File.Move(sFilePath, "C:\work2\myfile.txt")

'ファイルを別名で移動する(同一場所だとリネームと同じになる)
System.IO.File.Move(sFilePath, "C:\work\myfile.bak")

※移動先に同一ファイル名が存在するとエラーとなる

以下削除を組み合わせてエラーを回避する方法

Dim sFilePath As String = "C:\work\myfile.txt"
Dim sFilePath2 As String = "C:\work2\myfile.txt"

System.IO.File.Delete(sFilePath2)
System.IO.File.Move(sFilePath, sFilePath2)

※System.IO.File.Deleteメソッドは、ファイルが存在しなくてもエラーにならない。

 

My.Computer.FileSystem.MoveFile メソッドを使用する方法

Dim sFilePath As String = "C:\work\myfile.txt"

'ファイルを移動する
System.IO.File.Move(sFilePath, "C:\work2\myfile.txt")

'既に同じ名前のファイルが存在していても上書きで移動する
My.Computer.FileSystem.MoveFile(sFilePath, "C:\work\myfile.bak", True)

 

FileInfo クラスを使用する方法

Dim sFilePath As String = "C:\work\myfile.txt"

'ファイルを移動する
Dim finfo As New System.IO.FileInfo(sFilePath)
finfo.MoveTo("C:\work\myfile.bak")