#navi(../)

* ファイルまたはフォルダーを別の場所にコピーする・Copyメソッド [#w4b4cf12]
FileSystemObjectのCopyメソッドを使うことにより、ファイルまたはフォルダーを別の場所(同一のディレクトリでも可能)にコピーすることできます。~
本資料は、FileSystemObjectのCopyメソッドを利用してカレントディレクトリにファイルおよびフォルダを別名でコピーする、VBScriptサンプルコードと実行結果を記しています。

#contents
#htmlinsertpcsp(win-top.html,win-sp.html)

* 関連記事 [#ed1bb7df]
-[[ファイルを新規に作成しテキストを書き込むサンプルコード>WSH/ファイルを新規に作成しテキストを書き込むサンプルコード]]
-[[既存ファイルをにテキストを追加書き込みするサンプルコード>WSH/既存ファイルをにテキストを追加書き込みするサンプルコード]]
-[[ファイルの削除を行う方法・DeleteFile>WSH/ファイルの削除を行う方法・DeleteFile]]
-[[ファイルの存在チェックを行う・FileExists>WSH/ファイルの存在チェックを行う・FileExists]]
-[[フォルダの存在チェックを行う・FolderExists>WSH/フォルダの存在チェックを行う・FolderExists]]
-[[フォルダーのコピー・CopyFolder>WSH/フォルダーのコピー・CopyFolder]]
-[[ファイルを行単位で読み込む方法・ReadLineメソッド>WSH/ファイルを行単位で読み込む方法・ReadLineメソッド]]
-[[フルパスファイル名からファイル名のみ取り出す方法>WSH/フルパスファイル名からファイル名のみ取り出す方法]]

* Copyメソッドを使用したVBScriptのサンプルコードと実行結果 [#x2a5c019]
以下にFileSystemObjectのCopyメソッドを使用したVBScriptのサンプルコードと実行結果を記します。

** Copyメソッドを使用したVBScriptサンプルコード [#v30d3004]
#ref(copy.vbs)
 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メソッドの動作は同一のディレクトリに別名でコピーする動作になります。

** Copyメソッドを使用したVBScriptサンプルコード実行結果 [#qec17add]
- サンプルコード実行前の状態
 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 バイトの空き領域

#htmlinsertpcsp(win-btm.html,win-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS