ファイルをコピーするには FileSystemObject の CopyFile メソッドを使用します。
Call obj1.CopyFile( 文字列1, 文字列2 ) Call obj1.CopyFile( 文字列1, 文字列2, 真偽値1 )
オブジェクト(obj1) |
FileSystemObject オブジェクト。 CreateObject 関数で生成する。 |
戻り値 | なし |
引数1(文字列1) |
コピー元のファイル名 相対パスまたは絶対パスで指定 ワイルドカードを使用した指定も可能 (例)"*.txt"、"test_*" |
引数2(文字列2) |
コピー先のファイル名 相対パスまたは絶対パスで指定 |
引数3(真偽値1) |
上書きモードを指定 True:同名ファイルがある場合、上書きする False:同名ファイルがある場合、エラーとする 省略した場合、True が指定される True とした場合でも、コピー先に「読み取り専用」が設定されている場合、上書きせずにエラーとなる |
VBScript ではファイルとフォルダは区別されます。
そのためフォルダをコピーするには CopyFile ではなく CopyFolder を使用します。
ファイルをコピーせずに移動するには MoveFile を使用します。
'変数を宣言 Dim str_from Dim str_to str_from = ".\test.txt" str_to = ".\backup\test.txt" Set objFS = CreateObject("Scripting.FileSystemObject") 'ファイルを上書きコピーする Call objFS.CopyFile(str_from, str_to)
'変数を宣言 Dim str_from Dim str_to str_from = ".\test.txt" str_to = ".\backup\test.txt" Set objFS = CreateObject("Scripting.FileSystemObject") 'ファイルをコピーするが、コピー先のファイルが '存在する場合は実行時エラーとする Call objFS.CopyFile(str_from, str_to, False)
'変数を宣言 Dim str_from Dim str_to str_from = ".\*.vbs" str_to = ".\backup" Set objFS = CreateObject("Scripting.FileSystemObject") '拡張子 vbs のファイルを backup フォルダにコピー Call objFS.CopyFile(str_from, str_to)