ファイルをコピーする

ファイルをコピーするには 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 を使用します。

サンプルコード1
'変数を宣言
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)
サンプルコード2
'変数を宣言
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)
サンプルコード3
'変数を宣言
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)
関連カテゴリー
C / ファイルシステムオブジェクト


スポンサード リンク

VBScript お役たち リファレンス

Copyright (C) 2007 VBScript お役たち リファレンス All Rights Reserved.