ファイルをコピーする方法
スポンサーリンク
VBScript でファイルをコピーするには、ファイルシステムオブジェクトの Copy メソッドを使用します。
コピー先のファイルが存在する場合、上書きコピーする方法
上書きコピー時の書式は次の通りです。
VBScript(書式) | |
1 2 3 4 5 6 7 8 9 10 | 'ファイルを上書きでコピーする。 Call ファイルシステムオブジェクト.Copy(コピー元, コピー先) '以下も同じ。 Call ファイルシステムオブジェクト.Copy(コピー元, コピー先, True) '※3つ目の引数は次の通り。 ' True:コピー先にファイルがある場合、上書きする。 ' false:コピー先にファイルがある場合、エラーを発生させる。 |
サンプルコードは次の通りです。
VBScript(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | Option Explicit Dim objFileSys Dim strFilePathFrom Dim strFilePathTo 'ファイルシステムを扱うオブジェクトを作成 Set objFileSys = CreateObject("Scripting.FileSystemObject") 'コピー元のファイルのパスを指定 strFilePathFrom = "c:\temp\コピー元.txt" strFilePathTo = "c:\temp\コピー先.txt" 'エラー発生時にも処理を続行するよう設定 On Error Resume Next 'ファイルを上書きコピー Call objFileSys.CopyFile(strFilePathFrom, strFilePathTo) '元ファイルが無いなど、エラーになった場合の処理 If Err.Number <> 0 Then 'ここにエラー時の処理を記述 WScript.Echo "ファイルコピー時にエラーが発生しました。" & vbCrLf & _ "エラー番号:" & Err.Number & vbCrLf & _ "エラー詳細:" & Err.Description 'エラー情報をクリアする。 Err.Clear End If '「On Error Resume Next」を解除 On Error Goto 0 Set objFileSys = Nothing |
コピー先のファイルが存在しない場合のみコピーする方法
上書きコピー時の書式は次の通りです。
VBScript(書式) | |
1 2 | 'コピー先にファイルが存在しない場合のみコピー。ある場合はエラーが発生する。 Call ファイルシステムオブジェクト.Copy(コピー元, コピー先, False) |
サンプルコードは次の通りです。
VBScript(実行可能なサンプルコード) | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | Option Explicit Dim objFileSys Dim strFilePathFrom Dim strFilePathTo 'ファイルシステムを扱うオブジェクトを作成 Set objFileSys = CreateObject("Scripting.FileSystemObject") 'コピー元のファイルのパスを指定 strFilePathFrom = "c:\temp\コピー元.txt" strFilePathTo = "c:\temp\コピー先.txt" 'エラー発生時にも処理を続行するよう設定 On Error Resume Next 'コピー先に同名のファイルが無い場合のみコピー Call objFileSys.CopyFile(strFilePathFrom, strFilePathTo, False) 'コピー先に同名のファイルがある場合や元ファイルが無い等 'エラーになった場合の処理 If Err.Number <> 0 Then 'ここにエラー時の処理を記述 WScript.Echo "ファイルコピー時にエラーが発生しました。" & vbCrLf & _ "エラー番号:" & Err.Number & vbCrLf & _ "エラー詳細:" & Err.Description 'エラー情報をクリアする。 Err.Clear End If '「On Error Resume Next」を解除 On Error Goto 0 Set objFileSys = Nothing |
スポンサーリンク