FileSystemObjectのCopyメソッドを使うことにより、ファイルまたはフォルダーを別の場所(同一のディレクトリでも可能)にコピーすることできます。
本資料は、FileSystemObjectのCopyメソッドを利用してカレントディレクトリにファイルおよびフォルダを別名でコピーする、VBScriptサンプルコードと実行結果を記しています。
以下にFileSystemObjectのCopyメソッドを使用したVBScriptのサンプルコードと実行結果を記します。
Set fso = CreateObject("Scripting.FileSystemObject")
' Create file
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Set tso = fso.OpenTextFile("file.txt", ForWriting, true)
tso.WriteLine("hello world")
tso.Close
Set tso = Nothing
' Create folder
fso.CreateFolder("folder")
' Copy Method (file)
Set f = fso.GetFile("file.txt")
f.Copy("copy_file.txt")
Set f = Nothing
' Copy Method (folder)
Set f = fso.GetFolder("folder")
f.Copy("copy_folder")
Set f = Nothing
Set fso = Nothing
上記サンプルコードはOpenTextFileメソッドにより新規に作成したfile.txtファイルとCreateFolderメソッドで新規に作成したフォルダをFileSystemObjectのCopyメソッドを使いコピーしています。
パスを指定していないので、カレントディレクトリで動作します。
Copyメソッドの動作は同一のディレクトリに別名でコピーする動作になります。
C:\wsh\copy>dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は 1234-5678 です
C:\wsh\copy のディレクトリ
2012/07/28 14:56 <DIR> .
2012/07/28 14:56 <DIR> ..
2012/07/28 14:53 513 copy.vbs
1 個のファイル 513 バイト
2 個のディレクトリ 114,696,228,864 バイトの空き領域C:\wsh\copy>cscript /nologo copy.vbs
C:\wsh\copy>dir
ドライブ C のボリューム ラベルは Windows です
ボリューム シリアル番号は 1234-5678 です
C:\wsh\copy のディレクトリ
2012/07/28 14:56 <DIR> .
2012/07/28 14:56 <DIR> ..
2012/07/28 14:53 513 copy.vbs
2012/07/28 14:56 13 copy_file.txt
2012/07/28 14:56 <DIR> copy_folder
2012/07/28 14:56 13 file.txt
2012/07/28 14:56 <DIR> folder
3 個のファイル 539 バイト
4 個のディレクトリ 114,696,224,768 バイトの空き領域