My.Computer.FileSystem.CopyFile メソッド
更新 : 2007 年 11 月
ファイルを新しい場所にコピーします。
' Usage
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,overwrite)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,showUI)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,showUI ,onUserCancel)
' Declaration
Public Sub CopyFile( _
ByVal sourceFileName As String, _
ByVal destinationFileName As String _
)
' -or-
Public Sub CopyFile( _
ByVal sourceFileName As String, _
ByVal destinationFileName As String, _
ByVal overwrite As Boolean _
)
' -or-
Public Sub CopyFile( _
ByVal sourceFileName As String, _
ByVal destinationFileName As String, _
ByVal showUI As UIOption _
)
' -or-
Public Sub CopyFile( _
ByVal sourceFileName As String, _
ByVal destinationFileName As String, _
ByVal showUI As UIOption, _
ByVal onUserCancel As UICancelOption _
)
パラメータ
sourceFileName
String。コピーするファイルを指定します。必ず指定します。destinationFileName
String。ファイルをコピーする場所を指定します。必ず指定します。overwrite
Boolean。既存のファイルを上書きするかどうかを指定します。既定値は False です。必ず指定します。showUI
UIOption。処理の進行状況を視覚的に表示するかどうかを指定します。既定値は UIOption.OnlyErrorDialogs です。必ず指定します。onUserCancel
UICancelOption。操作中にユーザーが [キャンセル] ボタンをクリックしたときに実行する処理を指定します。既定値は ThrowException です。必ず指定します。
例外
例外がスローされる可能性のある状況を次に示します。
パスが無効です。1) 長さが 0 の文字列である、2) 空白だけが含まれている、3) 無効な文字が含まれている、4) デバイス パスである (\\\\.\\ で開始されている)、のいずれかの理由が考えられます (ArgumentException)。
絶対パスが取得できませんでした (ArgumentException)。
destinationFileName にパス情報が格納されています (ArgumentException)
パスが Nothing であるため、有効ではありません (ArgumentNullException)。
destinationFileName は、Nothing または空の文字列です (ArgumentNullException)。
ソース ファイルが有効でないか存在しません (FileNotFoundException)。
結合されたパスが、既存のディレクトリを指しています (IOException)。
コピー先のファイルが存在し、overwrite が False に設定されています (IOException)。
ユーザーがファイルにアクセスするのに必要なアクセス許可がありません (IOException)。
コピー先のディレクトリにある同じ名前のファイルが使用中です (IOException)。
パス内のファイル名またはディレクトリ名にコロン (:) が含まれているか、または形式が無効です (NotSupportedException)。
UICancelOption が ThrowException に設定されており、ユーザーが操作をキャンセルしました (OperationCanceledException)。
UICancelOption が ThrowException に設定されており、未指定の I/O エラーが発生しました (OperationCanceledException)。
パスがシステムで定義されている最大長を超えています (PathTooLongException)。
ユーザーに必要なアクセス許可がありません (UnauthorizedAccessException)。
ユーザーがパスを表示するのに必要なアクセス許可がありません (SecurityException)。
解説
CopyFile は、アクセス制御エントリ (ACE: Access Control Entries) を保持しません。新たに作成したファイルは、ファイルのあるディレクトリの既定の ACE を継承します。
処理手順
My.Computer.FileSystem.CopyFile メソッドに関連するタスクの例を次の表に示します。
タスク |
参照項目 |
---|---|
ファイルを同じディレクトリにコピーします。 |
|
ファイルを別のディレクトリにコピーします。 |
使用例
次のコード例は、 Test.txt というファイルを TestFiles2 というディレクトリにコピーします。既存のファイルの上書きは行いません。
My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2")
ファイルのパスは、実際のコードで使用するパスに置き換えてください。
次のコード例は、 Test.txt というファイルを TestFiles2 というディレクトリにコピーし、ファイル名を NewFile.txt に変更します。
My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2", "NewFile.txt", FileIO.UICancelOption.DoNothing)
ファイルのパスは、実際のコードで使用するパスに置き換えてください。
必要条件
名前空間 : Microsoft.VisualBasic.MyServices
クラス : FileSystemProxy (FileSystem へのアクセスを可能にします)
アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll 内)
プロジェクトの種類別の可用性
プロジェクトの種類 |
使用可/不可 |
---|---|
Windows アプリケーション |
可 |
クラス ライブラリ |
可 |
コンソール アプリケーション |
可 |
Windows コントロール ライブラリ |
可 |
Web コントロール ライブラリ |
可 |
Windows サービス |
可 |
Web サイト |
可 |
アクセス許可
以下のアクセス許可が必要な場合があります。
アクセス許可 |
説明 |
---|---|
すべての環境変数へのアクセス許可を制御します。関連する列挙値 : Unrestricted。 |
|
ファイルとフォルダへのアクセス許可を制御します。関連する列挙値 : Unrestricted。 |
|
レジストリ変数へのアクセス許可を制御します。関連する列挙値 : Unrestricted。 |
|
ユーザー インターフェイスおよびクリップボードに関連するアクセス許可を制御します。関連する列挙値 : SafeSubWindows。 |
詳細については、「コード アクセス セキュリティ」および「アクセス許可の要求」を参照してください。
参照
処理手順
方法 : Visual Basic で特定のパターンを持つファイルをディレクトリにコピーする
方法 : Visual Basic でファイルのコピーを同じディレクトリに作成する
方法 : Visual Basic でディレクトリを別のディレクトリにコピーする
方法 : Visual Basic でファイルの名前を変更する