フォルダーを再帰的にコピーするには、FileSystemObjectのCopyFolderメソッドを使用します。
以下にFileSystemObjectのCopyFolderメソッドを使用したVBScriptサンプルコードおよび実行結果を以下に記します。
CopyFolderメソッドの書式は以下のようになります。
FileSystemObject.CopyFolder コピー元, コピー先[, 上書きするしない];
以下にFileSystemObjectのCopyFolderメソッドを使用したVBScriptのサンプルコードと実行結果を記します。
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFolder "c:\wsh\src", "c:\wsh\dest"
Set fso = Nothing
c:\wshディレクトリが存在する状態で、以下のバッチファイルを実行しました。
mkdir c:\wsh\src mkdir c:\wsh\src\a mkdir c:\wsh\src\b mkdir c:\wsh\src\a\c echo root > c:\wsh\src\root.txt echo a > c:\wsh\src\a\a.txt echo b > c:\wsh\src\b\b.txt echo c > c:\wsh\src\a\c\c.txt
このバッチファイルを実行すると以下のようになります。
C:\wsh>tree /f src
フォルダー パスの一覧: ボリューム Windows
ボリューム シリアル番号は 1234-5678 です
C:\WSH\SRC
│ root.txt
│
├─a
│ │ a.txt
│ │
│ └─c
│ c.txt
│
└─b
b.txt
C:\wsh>cscript /nologo cpdir.vbs
C:\wsh>tree /f dest
フォルダー パスの一覧: ボリューム Windows
ボリューム シリアル番号は 1234-5678 です
C:\WSH\DEST
│ root.txt
│
├─a
│ │ a.txt
│ │
│ └─c
│ c.txt
│
└─b
b.txt
実行すると、srcディレクトリ配下のディレクトリおよびファイルを含めdestディレクトリにコピーされていることが確認できます。