【VBScript】特定のファイルを指定フォルダに指定ファイル名でコピーする


機能概要

  • 特定のファイルを
  • 特定のフォルダに
  • 特定のファイル名でコピーする
  • コピー先のフォルダが存在しない場合は自動で作成
  • エラー発生時には詳細メッセージを表示

ファイル名やフォルダパスはスクリプト内の定数として定義しており、メンテナンス性にも配慮しています。


サンプルコード(copy_file.vbs)

Option Explicit

' 定数定義(必要に応じて書き換えてください)
Const SOURCE_FILE = "C:\SourceFolder\example.txt"        ' コピー元のファイルパス
Const DEST_FOLDER = "C:\DestinationFolder"               ' コピー先のフォルダパス
Const DEST_FILE_NAME = "copied_example.txt"              ' コピー後のファイル名

' FileSystemObject の作成
Dim fso, destPath
Set fso = CreateObject("Scripting.FileSystemObject")

' コピー先のフルパスを作成
destPath = fso.BuildPath(DEST_FOLDER, DEST_FILE_NAME)

On Error Resume Next

' フォルダが存在しない場合は作成
If Not fso.FolderExists(DEST_FOLDER) Then
    fso.CreateFolder DEST_FOLDER
    If Err.Number <> 0 Then
        WScript.Echo "エラー: コピー先フォルダの作成に失敗しました: " & Err.Description
        WScript.Quit 1
    End If
End If

' ファイルのコピー(True: 上書き許可)
fso.CopyFile SOURCE_FILE, destPath, True

' エラーチェック
If Err.Number <> 0 Then
    WScript.Echo "エラー: ファイルのコピーに失敗しました: " & Err.Description
    WScript.Quit 1
Else
    WScript.Echo "ファイルは正常にコピーされました: " & destPath
End If

' クリーンアップ
Set fso = Nothing

実行方法

  1. 上記コードをメモ帳などに貼り付け、copy_file.vbs という名前で保存します。
  2. 保存したファイルをダブルクリックまたはコマンドラインから実行します。

補足

  • fso.CopyFile の第3引数に True を指定することで、同名ファイルがあった場合は上書きされます。
  • エラー処理は On Error Resume Next を使って実装していますが、用途によっては詳細なエラーハンドリングを追加することも可能です。

コメント

タイトルとURLをコピーしました