このエントリーをはてなブックマークに追加


フォルダーのコピーをする方法・CopyFolderメソッド

フォルダーを再帰的にコピーするには、FileSystemObjectのCopyFolderメソッドを使用します。
以下にFileSystemObjectのCopyFolderメソッドを使用したVBScriptサンプルコードおよび実行結果を以下に記します。


関連資料

CopyFolderメソッドの書式

CopyFolderメソッドの書式は以下のようになります。

FileSystemObject.CopyFolder コピー元, コピー先[, 上書きするしない];
  • コピー元 : コピーしたフォルダを指定します。
  • コピー先 : コピーするフォルダを指定します。
  • 上書きするしない(省略可能 既定値はTrue) : Trueを指定すると既存フォルダ内のファイルは上書きされます。Falseを指定すればファイルは上書きされません。

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ディレクトリにコピーされていることが確認できます。



添付ファイル: filecpdir.vbs 705件 [詳細] filemkdirfile.bat 513件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:50:33